【发布时间】:2022-12-06 01:15:02
【问题描述】:
我想将我的 json.gz 文件中的记录插入到雪花表中。 我创建了这个步骤:
CREATE FILE FORMAT test_gz TYPE = JSON
create stage my_test_stage
storage_integration = MY_S3
url = 's3://mybucket/'
file_format = test_gz;
copy into test_table
from @my_test_stage
我有一个错误:JSON 文件可以生成一列且只有一列类型为变体或对象或数组。 我还尝试将文件格式更改为 gzip,但它不起作用。
【问题讨论】:
-
我相信这个错误是很有解释性的——你的目标表是否只有一列类型 variant 并且它仍然失败?
-
@Pankaj 我的表有两列名称 varchar(50) 和电子邮件 varchar(50)。我的 json.gz 看起来像这样:{"name":"John", "email":"xxx"}。
-
您需要创建一个表来首先保存来自 json 的原始数据(只有一个列类型变体的表),然后您可以从该表复制到主表。或者,尝试从 (select $1:name,$1:email from @stage_name) 复制到 test_table(col_name_1, col_name_2)
-
@Pankaj 我不得不使用 copy into test_table(name,email) from (select split($:name,'.'),split ($1: email,'.') from @my_test_stage);
标签: snowflake-cloud-data-platform