【问题标题】:Retaining schema when unloading Snowflake table to s3 in parquet在镶木地板中将雪花表卸载到 s3 时保留模式
【发布时间】:2020-06-10 14:56:52
【问题描述】:

我在 Snowflake 上的表包含一个创建为 INT 的字段,默认为 NUMBER(38,0) 作为 Snowflake 数据类型。

当我使用 COPY 命令以 parquet 格式将此表卸载到 s3 时,我希望保留整个架构,包括该字段的精度。但是,生成的镶木地板有INT32 Decimal(precision=9, scale=0)

在雪花文档中,提到了

/* 要在输出文件中保留表模式,请使用简单的 SELECT 语句(例如 SELECT * FROM city)。 */

但是,我下面的查询并没有保持精度不变。

COPY INTO @staging.dl_stage/prediction/vehicle/export_date=20200226/file 
FROM (
    SELECT * FROM  snd_staging.PREDICTION.vehicle
)
  FILE_FORMAT=(type='parquet' COMPRESSION = AUTO)
  HEADER = TRUE
  OVERWRITE = TRUE
  SINGLE = False
  MAX_FILE_SIZE=256000000;

是否可以强制保持 Snowflake 数据类型精度不变?

【问题讨论】:

    标签: amazon-web-services parquet snowflake-cloud-data-platform


    【解决方案1】:

    我最终通过运行这个解决了这个问题:

    alter session set ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION = false; 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-04
      • 2023-03-24
      • 1970-01-01
      • 2019-03-04
      • 2017-03-09
      • 1970-01-01
      相关资源
      最近更新 更多