Amazon Redshift 自 2025 年 11 月 1 日起不再支援建立新的 Python UDF。如果您想要使用 Python UDF,請在該日期之前建立 UDF。現有 Python UDF 將繼續正常運作。如需詳細資訊,請參閱部落格文章
在 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 的外部資料表。 |
應於下列任何案例使用:
|
| 其他可考慮的方法 | ||
串流擷取 |
串流擷取可從 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 命令來更新資料表統計資料。