Snowflake cloud data platform Snowflake:在卸载到S3时将行数附加到文件的末尾
要求:将行数附加到文件的末尾Snowflake cloud data platform Snowflake:在卸载到S3时将行数附加到文件的末尾,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,要求:将行数附加到文件的末尾 "1111"|"NEWYORK"|"N" "2222"|"NEWJERSEY|"Y" "333"|"TEXAS"|"N" TR|3 SQL 复制到@s3bucket/path/filename.txt FROMSELECT a、 账户数量, a、 国家,, 如果b.tn不为空,则“Y”或“N”结束
"1111"|"NEWYORK"|"N"
"2222"|"NEWJERSEY|"Y"
"333"|"TEXAS"|"N"
TR|3
SQL
复制到@s3bucket/path/filename.txt
FROMSELECT
a、 账户数量,
a、 国家,,
如果b.tn不为空,则“Y”或“N”结束IND
从表A
a.tn=B.tn上的左外部联接表
;
预期的输出TR | 3应附加到文件的末尾
"1111"|"NEWYORK"|"N"
"2222"|"NEWJERSEY|"Y"
"333"|"TEXAS"|"N"
TR|3
编辑1:
使用@Iron DBA提到的复制命令上传数据
并实现了Python函数来更新尾行也许您可以使用UNION ALL将计数作为最后一行:
copy into @deneme from
(
with st as (
select * from values
('1111','NEWYORK','N'),
('2222','NEWJERSEY','Y'),
('333','TEXAS','N') tmp(acct_num, state, ind ) )
select acct_num, state, ind from (
select *, 0 sorting_column from st
union all
select 'TR',count(*)::VARCHAR,null, 1 from st)
order by sorting_column
);
select $1, $2, $3 from @testing;
+------+-----------+----+
| $1 | $2 | $3 |
+------+-----------+----+
| 1111 | NEWYORK | N |
| 2222 | NEWJERSEY | Y |
| 333 | TEXAS | N |
| TR | 3 | |
+------+-----------+----+
如果您尝试了与上面相同的查询,问题是TR | 3应该在最后一行,并且不应该有额外的管道,因为它将类似于TR | 3 |不可能移除额外的管道。为了确保TR作为最后一行出现,我只是修改了查询并添加了一个排序列。好的,我还试图另存为filename.txt,它正在保存CSV格式。。。雪花有txt格式吗?你试过设置文件扩展名吗?成功了。。。现在考虑如何消除最后一行中多余的管道……也许python应该帮助仅消除最后一行中的管道