本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從遠端主機載入資料
您可以使用 COPY 命令從一或多台遠端主機 parallel 載入資料,例如 Amazon EC2 執行個體或其他電腦。COPY 會使用 SSH 連接至遠端主機,然後在遠端主機上執行命令來產生文字輸出。
遠端主機可以是 Amazon EC2 Linux 執行個體,或另一台設定為接受 SSH 連線的 Unix 或 Linux 電腦。本指南假設您的遠端主機為 Amazon EC2 執行個體。當其他電腦上的程序不同時,指南將指出差異。
Amazon Redshift 可以連線至多台主機,並可以打開至每個主機的多個 SSH 連線。Amazon Redshift 會透過每個連線傳送唯一命令,以產生文字輸出來傳到主機的標準輸出,Amazon Redshift 接著會像讀取文字檔案一樣讀取此輸出。
開始之前
開始之前,您應該備妥下列各項:
-
您可以使用 SSH 連線的一或多個主機,例如 Amazon EC2 實例。
-
主機上的資料來源。
您將提供 Amazon Redshift 叢集將在主機上執行以產生文字輸出的命令。叢集連線至主機之後,COPY 命令會執行這些命令,讀取來自主機標準輸出的文字,以及 parallel 載入資料至 Amazon Redshift 資料表。文字輸出必須採用 COPY 命令可以擷取的格式。如需詳細資訊,請參閱「」準備您的輸入資料
-
從您的電腦存取主機。
針對 Amazon EC2 執行個體,您將使用 SSH 連線來存取主機。您將需要存取主機,以將 Amazon Redshift 叢集的公有金鑰新增至主機的授權金鑰檔案。
-
正在運行的 Amazon Redshift 叢集。
如需如何啟動叢集的詳細資訊,請參Amazon Redshift 入門指南。
載入資料程序
本節會逐步演練如何從從遠端主機載入資料的程序。下列小節提供完成每個步驟所需的詳細資訊。
-
公有金鑰可讓 Amazon Redshift 叢集節點與遠端主機建立 SSH 連線。您將使用每個叢集節點的 IP 地址來設定主機安全組或防火牆,以允許使用這些 IP 地址從您的 Amazon Redshift 叢集存取。
-
步驟 2:將 Amazon Redshift 叢集公有金鑰新增至主機的授權金鑰檔案
您可以將 Amazon Redshift 叢集公有金鑰新增至主機的授權金鑰檔案,以便主機識別 Amazon Redshift 叢集並接受 SSH 連線。
-
步驟 3:設定主機以接受所有 Amazon Redshift 叢集的 IP 地址
針對 Amazon EC2,修改執行個體的安全性組,以新增傳入規則來接受 Amazon Redshift IP 地址。針對其他主機,修改防火牆使得您的 Amazon Redshift 節點可以與遠端主機建立 SSH 連線。
-
您可以選擇性地指定 Amazon Redshift 應該使用公有金鑰來識別主機。您將需要找到公有金鑰,並將文字複製到您的資訊清單檔案。
-
資訊清單是 JSON 格式的文字檔案,其中包含 Amazon Redshift 連線至主機和獲取資料所需的詳細資訊。
-
Amazon Redshift 會讀取資訊清單,並使用該資訊來連線至遠端主機。如果 Amazon S3 儲存貯體不是位於與 Amazon Redshift 叢集所在的同一區域,您必須使用REGION選項指定數據所在的區域。
-
從 Amazon Redshift 資料庫,執行 COPY 命令以將資料載入至 Amazon Redshift 資料表。