将具有默认值的数据从 parquet 文件加载到 Redshift

Load data with default values into Redshift from a parquet file

我需要将具有默认值列的数据加载到 Redshift 中,如 AWS docs 中所述。

不幸的是,COPY 命令不允许从 parquet 文件加载具有默认值的数据,因此我需要找到其他方法来执行此操作。

我的 table 需要一个包含 Redshift getdate 函数的列:

         LOAD_DT TIMESTAMP DEFAULT GETDATE()

如果我使用 COPY 命令并将列名添加为参数,我会收到错误消息:

     Column mapping option argument is not supported for PARQUET based COPY

有什么解决方法?

您能否 post 参考 Redshift 不支持 Parquet COPY 的默认值?没听说过这个限制。

至于解决方法,我可以想到两个。

  1. 将文件复制到一个临时文件 table,然后使用默认值从该临时文件 table 插入到您的 table。
  2. 定义一个使用 parquet 文件作为源的外部 table,并使用默认值从此 table 插入到 table。