簡體   English   中英

Snowflake - 並行處理大型 zip 文件並將其復制到 SF 表

[英]Snowflake - Parallel processing and copy of large zip file to a SF Table

我們有一個將數據從 csv 加載到雪花表的過程。 但由於輸入文件是 gzip 格式,解壓后大約有 70 到 80 GB 的文件。 目前這個過程就像讀取 gzip 文件並直接插入到暫存表中一樣。 但是,對於中型集群,它實際上需要大約 3 到 3:30 的時間才能完成。 需要了解是否可以在此處處理任何並行性以加快處理速度。

CREATE OR REPLACE FILE FORMAT MANGEMENT.TEST_GZIP_FORMAT TYPE = CSV FIELD_DELIMITER = ';' SKIP_HEADER = 2 ESCAPE_UNENCLOSED_FIELD = NONE TRIM_SPACE = TRUE;


INSERT INTO TEST_DB.TEMP_TABLE (
                        emp_id, emp_name ) SELECT DISTINCT temp.$1 as emp_id,
                        temp.$2  AS emp_name   from
                        /Azureserverlocation/test/apps/ (file_format => MANAGEMENT.TEST_GZIP_FORMAT, pattern=>'./test_file.gz') temp;

你能把你的過程分成兩個階段並使用copy into .

  1. 使用COPY INTO將數據復制到階段表中。
COPY INTO TEST_DB.TEMP_TABLE_STG 
from '/Azureserverlocation/test/apps/'
file_format = (format_name=MANAGEMENT.TEST_GZIP_FORMAT, pattern=>'./test_file.gz');
  1. 然后得到一個與 stg distinct的表。
CREATE TABLE TEST_DB.TEMP_TABLE as 
SELECT DISTINCT emp_id, emp_name from TEST_DB.TEMP_TABLE_STG 

復制到<div id="text_translate"><p>我正在嘗試將數據從本地復制到雪花,我得到了</p><blockquote><p> snowflake.connector.errors.ProgrammingError: 001757 (42601): SQL 編譯錯誤:表 'RAW_DATA' 不存在</p></blockquote><p>相同的代碼在 Jupiter notebook 中有效,但在 vs code 中無效。 我的角色是 accountadmin,所以權限沒有問題。</p><p> 我要運行的代碼是這個</p><pre>COPY INTO RAW_DATA file_format=(FIELD_OPTIONALLY_ENCLOSED_BY ='"' skip_header=1)</pre></div>在雪花拋出表中不存在<table> </table>

[英]COPY INTO <table> in snowflake throws table does not exist

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM