1

Snowflake S3數據在.txt.bz2中,我需要將此SnowFlake S3中存在的數據文件導出到我的AWS S3,導出的結果必須與源位置中的格式相同。這是我試過的掃描笏。如何將SnowFlake S3數據文件導出到我的AWS S3?


COPY INTO @mystage/folder from (select $1||'|'||$2||'|'|| $3||'|'|| $4||'|'|| $5||'|'||$6||'|'|| $7||'|'|| $8||'|'|| $9||'|'|| $10||'|'|| $11||'|'|| $12||'|'|| $13||'|'|| $14||'|'||$15||'|'|| $16||'|'|| $17||'|'||$18||'|'||$19||'|'|| $20||'|'|| $21||'|'|| $22||'|'|| $23||'|'|| $24||'|'|| $25||'|'||26||'|'|| $27||'|'|| $28||'|'|| $29||'|'|| $30||'|'|| $31||'|'|| $32||'|'|| $33||'|'|| $34||'|'|| $35||'|'|| $36||'|'|| $37||'|'|| $38||'|'|| $39||'|'|| $40||'|'|| $41||'|'|| $42||'|'|| $43 from @databasename) CREDENTIALS = (AWS_KEY_ID = '*****' AWS_SECRET_KEY = '*****') file_format=(TYPE='CSV' COMPRESSION='BZ2'); PATTERN='*/*.txt.bz2


回答

1

眼下雪花不支持導出數據,BZ2到文件。

我的建議是設置COMPRESSION ='gzip',然後你可以通過gzip將數據導出到你的S3。

如果在bz2中導出文件對您而言是高優先級,請聯繫Snowflake支持。

如果你想從雪花舞臺上卸載bz2文件到你自己的S3,你可以做這樣的事情。

COPY INTO @myS3stage/folder from 
    (select $1||'|'||$2||'|'|| $3||'|'|| $4||'|'|| $5||'|'||$6||'|'|| $7||'|'|| $8||'|'|| $9||'|'|| $10||'|'|| $11||'|'|| $12||'|'|| $13||'|'|| $14||'|'||$15||'|'|| $16||'|'|| $17||'|'||$18||'|'||$19||'|'|| $20||'|'|| $21||'|'|| $22||'|'|| $23||'|'|| $24||'|'|| $25||'|'||26||'|'|| $27||'|'|| $28||'|'|| $29||'|'|| $30||'|'|| $31||'|'|| $32||'|'|| $33||'|'|| $34||'|'|| $35||'|'|| $36||'|'|| $37||'|'|| $38||'|'|| $39||'|'|| $40||'|'|| $41||'|'|| $42||'|'|| $43 
    from @snowflakeStage(PATTERN => '*/*.txt.bz2')) 
CREDENTIALS = (AWS_KEY_ID = '*****' AWS_SECRET_KEY = '*****') 
file_format=(TYPE='CSV'); 
+0

謝謝Jiaxing Liang,但是我已經使用bash腳本解決了這個問題,該腳本完全複製SF中的.bz2文件,並使用憑證將其轉儲到s3中。 –