

 Amazon Redshift 將不再支援在 2026 年 6 月 30 日之後使用 Python UDFs。我們將開始分階段強制執行。如需 Python 生命週期結束和遷移選項的詳細資訊，請參閱 2025 年 6 月 30 日發佈的[部落格文章](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

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

# 在 Amazon Redshift 中載入資料
<a name="t_Loading_data"></a>

有數種方式可將資料載入 Amazon Redshift 資料庫中。載入資料的常用來源之一，就是 Amazon S3 檔案。下表摘要說明從 Amazon S3 來源開始搭配使用的一些方法。


<table>
<thead>
  <tr><th>使用的方法</th><th>說明</th><th>需要方法時</th></tr>
</thead>
<tbody>
  <tr><td>COPY command (COPY 命令)</td><td>執行批次檔案擷取，以從 Amazon S3 檔案載入資料。此方法利用 Amazon Redshift 的平行處理功能。如需詳細資訊，請參閱<a href="t_Loading_tables_with_the_COPY_command.md">使用 COPY 命令載入資料表</a>。</td><td>當需要手動初始化批次檔案擷取的基本資料載入需求時，應使用此方法。此方法大多用於自訂和第三方檔案擷取管道，或一次性或臨機操作的檔案擷取工作負載。</td></tr>
  <tr><td>COPY... CREATE JOB 命令 (自動複製)</td><td>在追蹤的 Amazon S3 路徑上建立新檔案時，自動執行 COPY 命令。如需詳細資訊，請參閱<a href="loading-data-copy-job.md">建立 S3 事件整合，以自動從 Amazon S3 儲存貯體複製檔案</a>。</td><td>檔案擷取管道需要在 Amazon S3 上建立新檔案時自動擷取資料的情況下，應使用此方法。Amazon Redshift 會追蹤擷取的檔案，以防止資料重複。此方法需要 Amazon S3 儲存貯體擁有者進行設定。</td></tr>
  <tr><td>從資料湖查詢載入</td><td>建立外部資料表，以便對 Amazon S3 檔案執行資料湖查詢，然後執行 INSERT INTO 命令，將資料湖查詢的結果載入本機資料表。如需詳細資訊，請參閱<a href="c-spectrum-external-tables.md">Redshift Spectrum 的外部資料表</a>。</td><td>應於下列任何案例使用：<ul><li>從 載入 AWS Glue 和開啟資料表格式 （例如 Apache Iceberg、Apache Hudi 或 Delta Lake)。</li><li>需要部分擷取來源檔案 (例如，執行 WHERE 子句以擷取特定列時所需)。</li><li>擷取特定欄 (如執行 SELECT 命令) 或隨時隨地進行基本資料轉換 (例如，對來源檔案的值套用基本操作或呼叫 UDF) 所需的更多彈性。</li></ul></td></tr>
  <tr><td colspan="3"><b>其他可考慮的方法</b></td></tr>
  <tr><td>串流擷取 </td><td>串流擷取可從 Amazon Kinesis Data Streams 和 Amazon Managed Streaming for Apache Kafka 提供低延遲、高速擷取的串流資料給 Amazon Redshift 佈建或 Redshift Serverless 具體化視觀表。如需詳細資訊，請參閱<a href="materialized-view-streaming-ingestion-getting-started.md">開始使用 Amazon Kinesis Data Streams 中的串流擷取</a>及<a href="materialized-view-streaming-ingestion-getting-started-MSK.md">開始從 Apache Kafka 來源進行串流擷取</a>。</td><td>應考慮用於資料先串流到 Amazon S3 上的檔案，再從 Amazon S3 載入的使用案例。如果不需要將資料保留在 Amazon S3 上，您通常可以考慮直接將資料串流至 Amazon Redshift。</td></tr>
  <tr><td>執行資料湖查詢</td><td>直接從資料湖資料表執行查詢，而不是將資料表的內容擷取至本機資料表。如需詳細資訊，請參閱<a href="c-using-spectrum.md">Amazon Redshift Spectrum</a>。</td><td>應用於不要求 Amazon Redshift 中本機資料表查詢之效能的使用案例。</td></tr>
  <tr><td>使用 Amazon Redshift 查詢編輯器 v2 分批載入</td><td>您可以在 Amazon Redshift 查詢編輯器 v2 上，以視覺化方式準備和執行批次檔案擷取工作負載。如需詳細資訊，請參閱《Amazon Redshift 管理指南》<i></i>中的<a href="https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-loading.html#query-editor-v2-loading-data">從 S3 載入資料</a>。</td><td>應在您要讓查詢編輯器 v2 準備 COPY 陳述式，且您想要使用視覺化工具簡化 COPY 陳述式準備程序時使用。</td></tr>
  <tr><td>使用 Amazon Redshift 查詢編輯器 v2 從本機檔案載入資料</td><td>您可以從桌面直接將檔案上傳至 Amazon Redshift 資料表，而不需要手動將檔案上傳至 Amazon S3。如需詳細資訊，請參閱《Amazon Redshift 管理指南》<i></i>中的<a href="https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-loading.html#query-editor-v2-loading-data-local">從本機檔案設定和工作流程載入資料</a>。</td><td>應在您需要快速從本機電腦載入檔案以進行一次性查詢時使用。透過此方法，Amazon Redshift 查詢編輯器 v2 會將檔案暫時儲存在客戶擁有的 Amazon S3 儲存貯體上，並使用此 Amazon S3 路徑執行複製命令。</td></tr>
</tbody>
</table>


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 命令來更新資料表統計資料。

**Topics**
+ [使用 COPY 命令載入資料表](t_Loading_tables_with_the_COPY_command.md)
+ [建立 S3 事件整合，以自動從 Amazon S3 儲存貯體複製檔案](loading-data-copy-job.md)
+ [使用 DML 命令載入資料表](t_Updating_tables_with_DML_commands.md)
+ [執行深層複製](performing-a-deep-copy.md)
+ [分析資料表](t_Analyzing_tables.md)
+ [清空資料表](t_Reclaiming_storage_space202.md)
+ [管理並行寫入操作](c_Concurrent_writes.md)
+ [教學課程：從 Amazon S3 載入資料](tutorial-loading-data.md)