繁体   English   中英

将雪花表卸载到镶木地板中的 s3 时保留架构

[英]Retaining schema when unloading Snowflake table to s3 in parquet

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

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

在雪花文档中,提到

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

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

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 数据类型精度不变?

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

alter session set ENABLE_UNLOAD_PHYSICAL_TYPE_OPTIMIZATION = false; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM