資料載入操作 - Amazon Redshift

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

資料載入操作

指定下列參數來管理載入操作的預設行為,以進行故障排除或縮短載入時間。

參數
COMPROWS 數量

指定列數做為壓縮分析的樣本大小。分析是以每個資料配量中的列為對象。例如,假設您指定 COMPROWS 1000000 (1,000,000),而系統總共包含四個配量,則每個配量最多讀取和分析 250,000 列。

如果COMPROWS未指定 ,則每個切片的樣本數預設為 100,000。COMPROWS 小於每個切片預設值 100,000 列的值會自動升級至預設值。但是,如果載入的資料量不足以構成有意義的樣本,則不會執行自動壓縮。

如果COMPROWS數字大於輸入檔案中的資料列數目,COPY命令仍會繼續並對所有可用的資料列執行壓縮分析。此引數可接受的範圍是介於 1000 到 2147483647 (2,147,483,647) 之間的數字。

COMPUPDATE 【 PRESET | { ON | TRUE } | { OFF | FALSE } 】

控制是否在 期間自動套用壓縮編碼COPY。

當 COMPUPDATE為 時PRESET,如果目標資料表為空,COPY則命令會為每個資料欄選擇壓縮編碼;即使資料欄已有 以外的編碼RAW。可以取代目前指定的資料欄編碼。每個資料欄的編碼是以資料欄的資料類型為基礎。不會對任何資料取樣。Amazon Redshift 會自動指派壓縮編碼,如下所示:

  • 定義為排序索引鍵的資料欄會被指派RAW壓縮。

  • 定義為 BOOLEAN、 REAL或 DOUBLE PRECISION 資料類型的資料欄會被指派RAW壓縮。

  • 定義為 SMALLINT、INTEGER、、BIGINTDECIMAL、TIMESTAMP、 DATE或 的資料欄TIMESTAMPTZ會被指派AZ64壓縮。

  • 定義為 CHAR或 VARCHAR 且被指派LZO壓縮的資料欄。

COMPUPDATE 省略 時,只有在目標資料表為空,且您尚未為任何資料欄指定編碼 ( 除外RAW) 時,COPY命令才會選擇每個資料欄的壓縮編碼。每個欄的編碼是由 Amazon Redshift 決定。不會對任何資料取樣。

當 COMPUPDATE 為 ON (或 TRUE) 或 COMPUPDATE 時,如果沒有 選項,COPY則命令會套用自動壓縮,如果資料表為空;即使資料表資料欄已有 以外的編碼RAW。可以取代目前指定的資料欄編碼。每個資料欄的編碼會根據取樣資料的分析。如需詳細資訊,請參閱利用自動壓縮載入資料表

當 COMPUPDATE為 OFF(或 FALSE) 時,會停用自動壓縮。不會變更資料欄編碼。

如需關於分析壓縮的系統資料表資訊,請參閱 STL_ANALYZE_COMPRESSION

IGNOREALLERRORS

您可以指定此選項來忽略載入作業期間發生的所有錯誤。

如果您指定 IGNOREALLERRORS選項,則無法指定 MAXERROR選項。您無法指定欄式格式IGNOREALLERRORS的選項,包括 ORC和 Parquet。

MAXERROR 【AS】 error_count

如果載入傳回 error_count 個或更多錯誤,載入會失敗。如果載入傳回的錯誤較少,則會繼續並傳回INFO訊息,指出無法載入的資料列數。當某些列因為格式錯誤或資料有其他不一致情形而無法載入到資料表時,使用此參數可讓載入繼續進行。

如果要讓載入在發生第一個錯誤時立即失敗,請將此值設為 01。AS 關鍵字為選用。MAXERROR 預設值為 0,限制為 100000

由於 Amazon Redshift 的平行性質MAXERROR,實際報告的錯誤數目可能大於指定的 。如果 Amazon Redshift 叢集中的任何節點偵測到MAXERROR已超過 ,則每個節點都會報告其遇到的所有錯誤。

NOLOAD

檢查資料檔案的有效性,而不實際載入資料。執行實際資料載入之前,請使用 NOLOAD 參數來確定資料檔案載入時沒有任何錯誤。COPY 使用 NOLOAD 參數執行比載入資料快得多,因為它只會剖析檔案。

STATUPDATE 【 { ON | TRUE } | { OFF | FALSE } 】

在成功COPY命令結束時,管理最佳化工具統計資料的自動運算和重新整理。根據預設,如果未使用 STATUPDATE 參數,則在資料表最初為空白時,會自動更新統計資料。

每當將資料擷取到非空白資料表時,我們建議透過執行 ANALYZE 命令或使用 STATUPDATE ON 引數來更新統計資料。

STATUPDATE 開啟 (或 TRUE) 時,統計資料會自動更新,無論資料表初始是否為空白。STATUPDATE 如果使用 ,目前使用者必須是資料表擁有者或超級使用者。如果STATUPDATE未指定 ,則只需要INSERT許可。

透過 STATUPDATEOFF(或 FALSE),統計資料永遠不會更新。

如需其他資訊,請參閱 分析資料表