資料載入操作 - 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| {上 |TRUE} | {OFF|FALSE}]

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

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

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

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

  • 定義為SMALLINT、、、INTEGER、BIGINTDECIMALDATETIMESTAMP、或已指定AZ64壓縮TIMESTAMPTZ的欄。

  • 定義為CHAR或已指派LZO壓縮VARCHAR的資料行。

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

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

如果COMPUPDATE是 OFF (或FALSE),則會停用自動壓縮。不會變更資料欄編碼。

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

IGNOREALLERRORS

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

如果您指定選IGNOREALLERRORS項,則無法指定MAXERROR選項。您無法指定欄格式 (包括ORC和實木複合地板) 的IGNOREALLERRORS選項。

MAXERROR[AS] 錯誤計數

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

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

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

NOLOAD

檢查資料檔案的有效性,而不實際載入資料。在執行實際資料載入之前,請使用NOLOAD參數確保資料檔案載入時沒有任何錯誤。COPY使用NOLOAD參數運行比加載數據快得多,因為它只解析文件。

STATUPDATE[{上 |TRUE} | {OFF|FALSE}]

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

每當將資料擷取至非空白資料表時,都會大幅變更資料表的大小,建議您執行ANALYZE命令或使用 STATUPDATE ON 引數來更新統計資料。

使用 STATUPDATE ON (或TRUE) 時,無論資料表最初是否為空白,都會自動更新統計資料。如果使STATUPDATE用,則目前使用者必須是表格擁有者或超級使用者。如果STATUPDATE未指定,則僅需要INSERT權限。

使用 STATUPDATE OFF (或FALSE),永遠不會更新統計資料。

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