Snowflake cloud data platform 将雪花表数据以拼花格式卸载到S3中
从Snowflake表加载到S3 bucket后,我可以看到列下的所有值都是Null 下面是我使用的代码Snowflake cloud data platform 将雪花表数据以拼花格式卸载到S3中,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,从Snowflake表加载到S3 bucket后,我可以看到列下的所有值都是Null 下面是我使用的代码 create or replace stage STG_LOAD url='s3://bucket/foler' credentials=(aws_key_id='xxxx',aws_secret_key='xxxx') file_format = (type = PARQUET); copy into STG_LOAD from (select OBJECT_CONSTRUCT(coun
create or replace stage STG_LOAD
url='s3://bucket/foler'
credentials=(aws_key_id='xxxx',aws_secret_key='xxxx')
file_format = (type = PARQUET);
copy into STG_LOAD from
(select OBJECT_CONSTRUCT(country_cd,source)
from table_1
file_format = (type='parquet')
header='true';
如果我在这里遗漏了什么,请告诉我。看到空值是正常的。这是意料之中的行为。您的选择生成一个空对象,因此将其写入空值:
create or replace table table_1
( country_cd varchar, source varchar ) as
select * from values
('US','Jack'),
('UK','Joe'),
('NL','Jim'),
('EU', null);
select OBJECT_CONSTRUCT(country_cd,source) output
from table_1
+------------------+
| OUTPUT |
+------------------+
| { "US": "Jack" } |
| { "UK": "Joe" } |
| { "NL": "Jim" } |
| {} |
+------------------+
如果您不想写入空值,可以在选择时对其进行筛选:
copy into @STG_LOAD from
(select OBJECT_CONSTRUCT(country_cd,source ) output
from table_1
where output != OBJECT_CONSTRUCT() ) -- no empty objects
file_format = (type=parquet)
overwrite = true;
那么你是不是有错误?有什么问题吗?顺便说一下,snowflake_模式是一个数据仓库数据模型,我认为它与这个问题无关。我没有得到任何错误,它不是snowflake模式,它是snowflake Cloud dw table。它与雪花云数据仓库复制到应在表单下复制到@STG\u LOADstill空值从选择对象复制到@STG\u loadCD,源自表1文件\u format=type='parquet'header=true;