

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

# 使用 AWS Serverless Application Repository 部署 Hive 資料來源連接器
<a name="connect-data-source-sar-hive"></a>

若要部署 Hive 的 Athena 資料來源連接器，您可以使用 [AWS Serverless Application Repository](https://aws.amazon.com/serverless/serverlessrepo/)，而無需從 Athena 主控台開始。使用 AWS Serverless Application Repository 尋找您要使用的連接器，提供連接器所需的參數，然後將連接器部署到您的帳戶。然後，部署連接器後，可以使用 Athena 主控台讓資料來源可供 Athena 使用。

**使用 AWS Serverless Application Repository 將 Hive 的資料來源連接器部署到您的帳戶**

1. 登入 AWS 管理主控台 並開啟**無伺服器應用程式儲存庫**。

1. 選擇在導覽窗格中的 **Available applications** (可用的應用程式)。

1. 選取選項 **Show apps that create custom IAM roles or resource policies** (顯示建立自訂 IAM 角色或資源政策的應用程式)。

1. 在搜尋方塊中，輸入 **Hive**。出現的連接器包括以下兩個：
   + **AthenaHiveMetastoreFunction** – Uber Lambda 函數 `.jar` 檔案。
   + **AthenaHiveMetastoreFunctionWithLayer** – Lambda 層和薄型 Lambda 函數 `.jar` 檔案。

    這兩個應用程式具有相同的功能，唯一不同之處在其實作方式。您可以使用上述任一個應用程式來建立 Lambda 函數，將 Athena 連接到您的 Hive 中繼存放區。

1. 選擇您要使用的連接器名稱。本教學使用 **AthenaHiveMetastoreFunction**。  
![\[選擇適用於 Hive 的 Athena 資料來源連接器名稱。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/connect-data-source-sar-hive-1.png)

1. 在 **Application settings** (應用程式設定) 下，輸入您的 Lambda 函數的參數。
   + **LambdaFuncName** – 提供函數名稱。例如，**myHiveMetastore**。
   + **SpillLocation** – 指定此帳戶中的 Amazon S3 位置，如果 Lambda 函數回應大小超過 4 MB，此位置會保留溢出中繼資料。
   + **HMSUris** – 輸入在連接埠 9083 上使用 Thrift 通訊協定的 Hive 中繼存放區主機的 URI。使用語法 `thrift://<host_name>:9083`。
   + **LambdaMemory** – 指定介於 128 MB 到 3008 MB 之間的值。Lambda 函數分配到的 CPU 週期與您設定的記憶體數量成比例。預設值為 1024。
   + **LambdaTimeout** – 指定允許的 Lambda 叫用執行時間上限 (以秒為單位)，從 1 到 900 (900 秒為 15 分鐘)。預設值為 300 秒 (5 分鐘)。
   + **VPCSecurityGroupIds** – 為 Hive 中繼存放區輸入以逗號分隔的 VPC 安全群組 ID 清單。
   + **VPCSubnetIds** – 為 Hive 中繼存放區輸入以逗號分隔的 VPC 子網路 ID 清單。

1. 在 **Application details** (應用程式詳細資訊) 頁面的右下方，選取 **I acknowledge that this app creates custom IAM roles** (我確認要以此應用程式建立自訂的 IAM 角色)，然後選擇 **Deploy** (部署)。

此時，您可以將 Athena 設定為使用 Lambda 函數連接到您的 Hive 中繼存放區。如需這些步驟，請參閱 [將 Athena 設定為使用已部署的 Hive 中繼存放區連接器](connect-data-source-hive-existing-lambda.md)。