我有一个 JSON 文件,我试图通过 SnowSQL 将其加载到 Snowflake。我有一个部分工作的 SQL 脚本。这是 JSON 文件的示例:
{"year":"2011","_113_cause_name":"Nephritis, nephrotic syndrome and nephrosis (N00- N07,N17-N19,N25-N27)","cause_name":"Kidney disease","state":"South Dakota","deaths":"49","aadr":"4.5"}
我在一个文件中有一系列 SQL 语句,然后我运行 fin SnowSQL CLI - 见下文:
enter code here
/* create a table with variant column */
CREATE TABLE IF NOT EXISTS CDC_SCHEMA.CDC_VAR
(
TEST_DATA VARIANT);
/*create file format */
create or replace file format CDC_DB.CDC_SCHEMA.sf_tut_csv_format
field_delimiter = none
record_delimiter = '\\n';
create or replace temporary stage CDC_DB.CDC_SCHEMA.sf_tut_stage
file_format = CDC_DB.CDC_SCHEMA.sf_tut_csv_format;
put file:///Users/rfrenkel/Downloads/LeadingCausesofDeath_noOA.json
@CDC_DB.CDC_SCHEMA.sf_tut_stage;
copy into CDC_VAR
from @CDC_DB.CDC_SCHEMA.sf_tut_stage/LeadingCausesofDeath_noOA.json.jz
file_format = CDC_DB.CDC_SCHEMA.sf_tut_csv_format;
SELECT * from CDC_VAR;
|状态 |
|----------------------------------------------|
| CDC_VAR 已存在,语句成功。 |
+----------------------------------------------+
产生了 1 行。已用时间:0.192s
+------------------------------------------------- ----+
|状态 |
|------------------------------------------------- ----|
|成功创建文件格式 SF_TUT_CSV_FORMAT。 |
+------------------------------------------------- ----+
产生了 1 行。经过的时间:0.190s
+----------------------------------------------+< br/>
|状态 |
|---------------------------------------------------------|
|舞台区域 SF_TUT_STAGE 已成功创建。 |
+-----------------------------------------------+
产生了 1 行。已用时间:0.202s
LeadCausesofDeath_noOA.json_c.gz(0.09MB):[##########] 100.00% 完成(1.973s,0.04MB/s)。
+--------------------------------+---------------- -----------+-------------+------------+-- -----------+--------------------+--------- +---------+
|来源 |目标 | source_size |目标尺寸| source_compression | target_compression |状态 |留言 |
|--------------------------------+---------------- --------------------+-------------+------------+-- -----------+--------------------+--------- +---------|
| LeadCausesofDeath_noOA.json | LeadCausesofDeath_noOA.json.gz | 1671572 | 91648 |无 |邮编 |已上传 | |
+--------------------------------+---------------- -----------+-------------+------------+-- -----------+--------------------+--------- +---------+
产生了 1 行。已用时间:4.028s
+----------------------------------------------+
|状态 |
|---------------------------------------|
|复制执行,处理了 0 个文件。 |
+----------------------------------------------+
产生了 1 行。已用时间:1.221s
+-----------+
| TEST_DATA |
|-----------|
看起来 COPY 只在 CDC_VAR 中生成一行,当我通过图形界面查看它时,我没有看到任何数据。我不知道怎么了,我怀疑文件格式不正确。任何帮助表示赞赏。
答案 0 :(得分:0)
以防万一你在看到其他帖子之前看到这个...
stage 表上的文件格式是定界的。您想要创建 JSON 文件格式并指定该格式。
这里是文件格式和阶段表的代码。
create or replace file format CDC_DB.CDC_SCHEMA.JSON_FILE_FORMAT
TYPE = 'JSON'
COMPRESSION = 'AUTO'
ENABLE_OCTAL = FALSE
ALLOW_DUPLICATE = FALSE
STRIP_OUTER_ARRAY = TRUE
STRIP_NULL_VALUES = FALSE
IGNORE_UTF8_ERRORS = FALSE;
create or replace stage CDC_DB.CDC_SCHEMA.sf_tut_stage
file_format = CDC_DB.CDC_SCHEMA.JSON_FILE_FORMAT;