在 Amazon Redshift 中載入資料 - Amazon Redshift

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

在 Amazon Redshift 中載入資料

有數種方式可將資料載入 Amazon Redshift 資料庫。要載入的熱門資料來源之一是 Amazon S3 檔案。下表摘要說明從 Amazon S3 來源開始,用於 的一些方法。

使用方法 描述 需要 方法時

COPY command (COPY 命令)

執行批次檔案擷取,以從 Amazon S3 檔案載入資料。此方法利用 Amazon Redshift 的平行處理功能。如需詳細資訊,請參閱使用 COPY 命令載入資料表

當需要手動啟動批次檔案擷取的基本資料載入需求時,應使用 。此方法主要用於自訂和第三方檔案擷取管道,或一次性或臨時的檔案擷取工作負載。

COPY... CREATE JOB 命令 (自動複製)

在追蹤的 Amazon S3 路徑上建立新檔案時, 會自動執行 COPY 命令。如需詳細資訊,請參閱建立 S3 事件整合,以自動從 Amazon S3 儲存貯體複製檔案

在 Amazon S3 上建立新檔案時,當檔案擷取管道需要自動擷取資料時,應使用 。Amazon Redshift 會追蹤擷取的檔案,以防止資料重複。此方法需要由 Amazon S3 儲存貯體擁有者進行組態。

從資料湖查詢載入

建立外部資料表以在您的 Amazon S3 檔案上執行資料湖查詢,然後執行 INSERT INTO 命令,將資料湖查詢的結果載入本機資料表。如需詳細資訊,請參閱Redshift Spectrum 的外部資料表

應用於下列任何案例:

  • 從 載入 AWS Glue 和開啟資料表格式 (例如 Apache Iceberg、Apache Hudi 或 Delta Lake)。

  • 來源檔案需要部分擷取 (例如,執行 WHERE 子句以擷取特定資料列時需要)。

  • 擷取特定資料欄 (例如執行 SELECT 命令) 或隨時隨地進行基本資料轉換 (例如套用基本操作或對來源檔案的值呼叫 UDFs) 所需的更多彈性。

您可以考慮的其他方法

串流擷取

串流擷取提供從 Amazon Kinesis Data Streams 和 Amazon Managed Streaming for Apache Kafka 的低延遲、高速串流資料擷取至 Amazon Redshift 佈建或 Redshift Serverless 具體化檢視。如需詳細資訊,請參閱 開始使用 Amazon Kinesis Data Streams 中的串流擷取從 Apache Kafka 來源開始串流擷取

當資料先串流到 Amazon S3 上的檔案,然後從 Amazon S3 載入時,應考慮使用案例。如果不需要在 Amazon S3 上保留資料,您通常可以考慮將資料直接串流到 Amazon Redshift。

執行資料湖查詢

直接從資料湖資料表執行查詢,而不是將資料表的內容擷取至本機資料表。如需詳細資訊,請參閱Amazon Redshift Spectrum

當使用案例不需要 Amazon Redshift 中本機資料表查詢的效能時,應使用 。

使用 Amazon Redshift 查詢編輯器 v2 進行批次載入

您可以在 Amazon Redshift 查詢編輯器 v2 上以視覺化方式準備和執行批次檔案擷取工作負載。如需詳細資訊,請參閱《Amazon Redshift 管理指南》中的從 S3 載入資料

當您想要查詢編輯器 v2 準備 COPY 陳述式,而且想要視覺化工具簡化 COPY 陳述式準備程序時,應使用 。

使用 Amazon Redshift 查詢編輯器 v2 從本機檔案載入資料

您可以從桌面直接將檔案上傳至 Amazon Redshift 資料表,而不需要手動將檔案上傳至 Amazon S3。如需詳細資訊,請參閱《Amazon Redshift 管理指南》中的從本機檔案設定和工作流程載入資料

當您需要快速從本機電腦載入檔案以進行一次性查詢時,應使用 。透過此方法,Amazon Redshift 查詢編輯器 v2 會將檔案暫時存放在客戶擁有的 Amazon S3 儲存貯體上,並使用此 Amazon S3 路徑執行複製命令。

COPY 命令是載入資料表的最有效方式。您也可以使用 INSERT 命令將資料新增至您的資料表,但與使用 COPY 相較,此方式效率明顯較低。COPY 命令能夠同時從多個資料檔案或多個資料串流中進行讀取。Amazon Redshift 會將工作負載配置到 Amazon Redshift 節點,並平行執行載入操作,包括排序資料列和分配資料到節點配量。

注意

Amazon Redshift Spectrum 外部資料表處於唯讀狀態。您無法 COPY 或 INSERT 至外部資料表。

若要存取其他 AWS 資源上的資料,Amazon Redshift 必須具有存取這些資源的許可,並執行存取資料的必要動作。您可以使用 AWS Identity and Access Management (IAM) 限制使用者對 Amazon Redshift 資源和資料的存取。

初始資料載入之後,如果您新增、修改或刪除大量資料,在刪除之後,您後續應該執行 VACUUM 命令來重新組織您的資料和回收空間。您也應該執行 ANALYZE 命令來更新資料表統計資料。