載入資料檔案 - Amazon Redshift

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

載入資料檔案

來源資料檔案有不同的格式,並會使用不同的壓縮演算法。使用 COPY 命令載入資料時,Amazon Redshift 會載入 Amazon S3 儲存貯體字首參照的所有檔案。(字首是物件索引鍵名稱開頭的字元字串。) 如果字首參照多個檔案或可以分割的檔案,Amazon Redshift 會利用 Amazon Redshift 的 MPP 架構平行載入資料。這會在叢集中的節點上劃分工作負載。相反地,當您從無法分割的檔案載入資料時,Amazon Redshift 會強制執行序列化載入,而此速度會慢很多。以下各節說明將不同檔案類型載入 Amazon Redshift 的建議方式 (視其格式和壓縮而定)。

從可分割的檔案載入資料

下列檔案可在載入資料時自動分割檔案:

  • 未壓縮的 CSV 檔案

  • 使用 BZIP 壓縮的 CSV 檔案

  • 單欄式檔案 (Parquet/ORC)

Amazon Redshift 會自動將 128MB 或更大的檔案分割成多個區塊。如果單欄式檔案 (特別是 Parquet 和 ORC) 小於 128MB,則不會分割。Redshift 會利用平行運作的分割部分來載入資料。這可提供快速的載入效能。

從部可分割的檔案載入資料

使用其他壓縮演算法 (例如 GZIP) 壓縮時,JSON 或 CSV 等檔案類型不會自動分割。對於這些檔案,我們建議將資料手動分割為多個大小接近的較小文件 (壓縮後的 1 MB 到 1 GB)。此外,檔案數量應為您叢集中分割的倍數。如需如何將資料分割為多個檔案,以及使用 COPY 載入資料範例的相關資訊,請參閱從 Amazon S3 載入資料