【问题标题】:Load data with default values into Redshift from a parquet file从 parquet 文件将具有默认值的数据加载到 Redshift
【发布时间】:2021-04-13 21:23:30
【问题描述】:

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

不幸的是,COPY 命令不允许从 parquet 文件加载具有默认值的数据,所以我需要找到一种不同的方法来做到这一点。

我的表需要一个带有 Redshift 的 getdate 函数的列:

         LOAD_DT TIMESTAMP DEFAULT GETDATE()

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

     Column mapping option argument is not supported for PARQUET based COPY

有什么解决方法?

【问题讨论】:

    标签: amazon-redshift


    【解决方案1】:

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

    至于变通办法,我能想到两个。

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

    【讨论】:

    • 不,我还没有找到明确说明这一点的参考资料,但是当以本用例概述的方式使用 COPY 命令时,我收到关于它不受支持的错误,所以这就是我的意思我基于此。
    • 如果您有权访问 AWS 支持,放弃工单可以说明功能,如果可能,说明如何。无论哪种方式,我都希望这些解决方法之一对您有用。
    猜你喜欢
    • 2019-02-11
    • 2020-12-30
    • 2018-07-18
    • 2021-12-31
    • 2011-12-08
    • 2020-01-03
    • 1970-01-01
    • 1970-01-01
    • 2015-07-24
    相关资源
    最近更新 更多