

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

# 在 AWS Glue Studio 中連線至 Vertica
<a name="connecting-to-data-vertica"></a>

 AWS Glue 會提供 Vertica 的內建支援。AWS Glue Studio 會提供視覺化介面以連線至 Vertica、撰寫資料整合任務，以及在 AWS Glue Studio 無伺服器 Spark 執行期上執行此類任務。

 AWS Glue Studio 會為 Vertica 建立統一連線。如需詳細資訊，請參閱[考量事項](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations)。

**Topics**
+ [建立 Vertica 連線](creating-vertica-connection.md)
+ [建立 Vertica 來源節點](creating-vertica-source-node.md)
+ [建立 Vertica 目標節點](creating-vertica-target-node.md)
+ [進階選項](#creating-vertica-connection-advanced-options)

# 建立 Vertica 連線
<a name="creating-vertica-connection"></a>

**先決條件：**
+ 從資料庫讀取和寫入資料庫時用於暫存空間的 Amazon S3 儲存貯體或資料夾 (稱為 *tempS3Path*)。
**注意**  
在 AWS Glue 任務資料預覽中使用 Vertica 時，可能不會自動從 *tempS3Path* 中移除暫存檔案。若要確保移除暫存檔案，請選擇**資料預覽**窗格中的**結束工作階段**，直接結束資料預覽工作階段。  
如果無法保證資料預覽工作階段會直接結束，請考慮設定 Amazon S3 生命週期組態以移除舊資料。根據最長任務執行期和餘裕，我們建議移除超過 49 小時的資料。如需有關設定 Amazon S3 生命週期的詳細資訊，請參閱《Amazon S3 文件》中的[管理您的儲存空間生命週期](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html)。
+ IAM 政策，具有與 AWS Glue 任務角色建立關聯之 Amazon S3 路徑的適當許可。
+ 如果您的 Vertica 執行個體位於 Amazon VPC 中，請設定 Amazon VPC 以允許您的 AWS Glue 任務與 Vertica 執行個體通訊，而不會讓流量周遊公有網際網路。

  在 Amazon VPC 中，識別或建立 AWS Glue 將在執行任務時使用的 **VPC**、**子網路**和**安全群組**。此外，您也需要確保 Amazon VPC 已完成設定，以允許 Vertica 執行個體與此位置之間的網路流量。您的任務將需要與 Vertica 用戶端連接埠建立 TCP 連線 (預設 5433)。根據您的網路配置，這可能需要變更安全群組規則、網路 ACL、NAT 閘道及對等連線。

**設定連至 Vertica 的連線：**

1. 在 中 AWS Secrets Manager，使用您的 Vertica 登入資料 *verticaUsername* 和 *verticaPassword* 建立秘密。若要在 Secrets Manager 中建立秘密，請遵循 AWS Secrets Manager 文件中[建立 AWS Secrets Manager 秘密](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html)中提供的教學課程。建立機密之後，請保留機密名稱 *secretName*，以便進行下一個步驟。
   + 在選取**鍵/值組**時，請使用 *verticaUsername* 值來建立 `user` 金鑰對。
   + 在選取**鍵/值組**時，請使用 *verticaPassword* 值來建立 `password` 金鑰對。

1. 在 AWS Glue 主控台中，依照中的步驟建立連線[新增 AWS Glue 連線](console-connections.md)。建立連線之後，請保留連線名稱 *connectionName*，以便進行下一個步驟。
   + 選取**連線類型**時，請選取 Vertica。
   + 選取 **Vertica 主機**後，請提供 Vertica 安裝的主機名稱。
   + 選取 **Vertica 連接埠**時，您可透過該連接埠安裝 Vertica。
   + 選取 **AWS 機密**時，請提供 *secretName*。

1. 在下列情況中，您可能需要其他組態：
   + 

     對於 Amazon VPC AWS 中託管於 的 Vertica 執行個體
     + 將 Amazon VPC 連線資訊提供給定義 Vertica 安全登入資料的 AWS Glue 連線。建立或更新連線時，請在**網路選項**中設定 **VPC**、**子網路**及**安全群組**。

您必須先執行下列步驟，才能執行 AWS Glue 任務：
+ 將與您的 AWS Glue 任務許可相關聯的 IAM 角色授予 *tempS3Path*。
+ 授予與您的 AWS Glue 任務相關聯的 IAM 角色讀取 *secretName* 的許可。

# 建立 Vertica 來源節點
<a name="creating-vertica-source-node"></a>

## 必要先決條件
<a name="creating-vertica-source-node-prerequisites"></a>
+ Vertica 類型 AWS Glue Data Catalog 連線、*connectionName* 和暫時 Amazon S3 位置 *tempS3Path*，如上一節 所述[建立 Vertica 連線](creating-vertica-connection.md)。
+ 您想要讀取的 Vertica 資料表 *tableName* 或查詢 *targetQuery*。

## 新增 Vertica 資料來源
<a name="creating-vertica-source-node-add"></a>

**新增**資料來源 – Vertica** 節點：**

1.  選擇 Vertica 資料來源的連線。由於您已建立連線，其應可用於下拉式清單中。如果您需要建立連線，請選擇**建立 Vertica 連線**。如需詳細資訊，請參閱前一 [建立 Vertica 連線](creating-vertica-connection.md) 節。

    選擇連線之後，您可以按一下**檢視屬性**來檢視連線屬性。

1. 選擇包含資料表的**資料庫**。

1. 選擇 **Amazon S3 中的暫存區域**，將 S3A URI 輸入 *tempS3Path*。

1. 選擇 **Verica 來源**。
   +  **選擇單一資料表**：從單一資料表存取所有資料。
   +  **輸入自訂查詢**：根據自訂查詢從多個資料表存取資料集。

1.  如果您選擇單一資料表，請輸入 *tableName*，然後選擇性選取**結構描述**。

    如果您選擇**輸入自訂查詢**，請輸入 SQL SELECT 查詢，然後選擇性選取**結構描述**。

1.  在**自訂 Vertica 屬性**中，視需要輸入參數和值。

# 建立 Vertica 目標節點
<a name="creating-vertica-target-node"></a>

## 必要先決條件
<a name="creating-vertica-target-node-prerequisites"></a>
+ Vertica 類型 AWS Glue Data Catalog 連線、*connectionName* 和暫時 Amazon S3 位置 *tempS3Path*，如上一節 所述[建立 Vertica 連線](creating-vertica-connection.md)。

## 新增 Vertica 資料目標
<a name="creating-vertica-target-node-add"></a>

**新增**資料目標 – Vertica** 節點：**

1.  選擇 Vertica 資料來源的連線。由於您已建立連線，其應可用於下拉式清單中。如果您需要建立連線，請選擇**建立 Vertica 連線**。如需詳細資訊，請參閱前一 [建立 Vertica 連線](creating-vertica-connection.md) 節。

    選擇連線之後，您可以按一下**檢視屬性**來檢視連線屬性。

1. 選擇包含資料表的**資料庫**。

1. 選擇 **Amazon S3 中的暫存區域**，將 S3A URI 輸入 *tempS3Path*。

1. 輸入 *tableName*，然後選擇性選取**結構描述**。

1.  在**自訂 Vertica 屬性**中，視需要輸入參數和值。

## 進階選項
<a name="creating-vertica-connection-advanced-options"></a>

您可以在建立 Vertica 節點時提供進階選項。這些選項與 AWS Glue Spark 指令碼程式設計時可用的選項相同。

請參閱[Vertica 連線](aws-glue-programming-etl-connect-vertica-home.md)。