

 Amazon Redshift 將不再支援從修補程式 198 開始建立新的 Python UDFs。現有 Python UDF 將繼續正常運作至 2026 年 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>Description</th><th>需要方法時</th></tr>
</thead>
<tbody>
  <tr><td>COPY command (COPY 命令)</td><td>執行批次檔案擷取，以從 Amazon S3 檔案載入資料。此方法利用 Amazon Redshift 的平行處理功能。如需詳細資訊，請參閱[使用 COPY 命令載入資料表](t_Loading_tables_with_the_COPY_command.md)。</td><td>當需要手動初始化批次檔案擷取的基本資料載入需求時，應使用此方法。此方法大多用於自訂和第三方檔案擷取管道，或一次性或臨機操作的檔案擷取工作負載。</td></tr>
  <tr><td>COPY... CREATE JOB 命令 (自動複製)</td><td>在追蹤的 Amazon S3 路徑上建立新檔案時，自動執行 COPY 命令。如需詳細資訊，請參閱[建立 S3 事件整合，以自動從 Amazon S3 儲存貯體複製檔案](loading-data-copy-job.md)。</td><td>檔案擷取管道需要在 Amazon S3 上建立新檔案時自動擷取資料的情況下，應使用此方法。Amazon Redshift 會追蹤擷取的檔案，以防止資料重複。此方法需要 Amazon S3 儲存貯體擁有者進行設定。</td></tr>
  <tr><td>從資料湖查詢載入</td><td>建立外部資料表，以便對 Amazon S3 檔案執行資料湖查詢，然後執行 INSERT INTO 命令，將資料湖查詢的結果載入本機資料表。如需詳細資訊，請參閱[Redshift Spectrum 的外部資料表](c-spectrum-external-tables.md)。</td><td>應於下列任何案例使用：[See the AWS documentation website for more details](http://docs.aws.amazon.com/zh_tw/redshift/latest/dg/t_Loading_data.html)</td></tr>
  <tr><td colspan="3">其他可考慮的方法</td></tr>
  <tr><td>串流擷取 </td><td>串流擷取可從 Amazon Kinesis Data Streams 和 Amazon Managed Streaming for Apache Kafka 提供低延遲、高速擷取的串流資料給 Amazon Redshift 佈建或 Redshift Serverless 具體化視觀表。如需詳細資訊，請參閱[開始使用 Amazon Kinesis Data Streams 中的串流擷取](materialized-view-streaming-ingestion-getting-started.md)及[開始從 Apache Kafka 來源進行串流擷取](materialized-view-streaming-ingestion-getting-started-MSK.md)。</td><td>應考慮用於資料先串流到 Amazon S3 上的檔案，再從 Amazon S3 載入的使用案例。如果不需要將資料保留在 Amazon S3 上，您通常可以考慮直接將資料串流至 Amazon Redshift。</td></tr>
  <tr><td>執行資料湖查詢</td><td>直接從資料湖資料表執行查詢，而不是將資料表的內容擷取至本機資料表。如需詳細資訊，請參閱[Amazon Redshift Spectrum](c-using-spectrum.md)。</td><td>應用於不要求 Amazon Redshift 中本機資料表查詢之效能的使用案例。</td></tr>
  <tr><td>使用 Amazon Redshift 查詢編輯器 v2 分批載入</td><td>您可以在 Amazon Redshift 查詢編輯器 v2 上，以視覺化方式準備和執行批次檔案擷取工作負載。如需詳細資訊，請參閱《Amazon Redshift 管理指南》**中的[從 S3 載入資料](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-loading.html#query-editor-v2-loading-data)。</td><td>應在您要讓查詢編輯器 v2 準備 COPY 陳述式，且您想要使用視覺化工具簡化 COPY 陳述式準備程序時使用。</td></tr>
  <tr><td>使用 Amazon Redshift 查詢編輯器 v2 從本機檔案載入資料</td><td>您可以從桌面直接將檔案上傳至 Amazon Redshift 資料表，而不需要手動將檔案上傳至 Amazon S3。如需詳細資訊，請參閱《Amazon Redshift 管理指南》**中的[從本機檔案設定和工作流程載入資料](https://docs.aws.amazon.com/redshift/latest/mgmt/query-editor-v2-loading.html#query-editor-v2-loading-data-local)。</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)