我有一个airflow管道,它从一个现有的表创建一个staging表,从csv加载数据,然后执行以下alter命令。
ALTER TABLE "schema"."table"
APPEND FROM "schema"."table_staging"
FILLTARGET
我观察到下面的错误是偶尔返回,我只是放弃了原来的表,并重新创建它,它会正常工作几天,然后没有在哪里我会再次遇到这个问题。
DETAIL:
-----------------------------------------------
error: Target table and source table attributes don't match.
code: 8001
context: The source table and the target table have different sort keys. Both tables must use the same sort keys and sort style.
query: 0
location: tbl_perm.cpp:2823
process: padbmaster [pid=19083]
我不明白为什么它突然就坏了。
1条答案
按热度按时间ctehm74n1#
也就是说,在您描述的场景中:可能原始表的排序关键字没有设置,所以redshift确定它。最初,排序键匹配并且没有问题,但是当redshift更改(原始的)排序键时,错误再次出现。
我建议显式设置排序键和/或使用
CREATE TABLE staging (LIKE original)
,因为“Distribution style、sort keys、BACKUP和NULL properties are inherited by LIKE tables”(docs)。