將 Athena 連接到 Apache Hive 中繼存放區 - Amazon Athena

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

將 Athena 連接到 Apache Hive 中繼存放區

若要將 Athena 連接到 Apache Hive 中繼存放區,您必須建立和設定 Lambda 函數。關於基本實作,您可以從 Athena 管理主控台開始執行所有必要的步驟。

注意

下列程序要求您具有為 Lambda 函數建立自訂 IAM 角色的許可。如果您沒有建立自訂角色的許可,您可以使用 Athena 參考實作來分別建立 Lambda 函數,然後使用 AWS Lambda 主控台來選擇函數的現有 IAM 角色。如需詳細資訊,請參閱使用現有 IAM 執行角色將 Athena 連接到 Hive 中繼存放區

若要將 Athena 連接到 Hive 中繼存放區
  1. 前往 https://console.aws.amazon.com/athena/ 開啟 Athena 主控台。

  2. 如果未顯示主控台的導覽窗格,請選擇左側的展開選單。

    
                            選擇展開選單。
  3. 選擇 Data Source (資料來源)。

  4. 在主控台的右上角,選擇 Create data source (建立資料來源)。

  5. Choose a data source (選擇資料來源) 頁面上,針對 Data source (資料來源) 選擇 S3 - Apache Hive metastore (S3 - Apache Hive 中繼存放區)。

  6. 選擇 Next (下一步)

  7. Data source details (資料來源詳細資訊) 區段中,當您從 Athena 查詢資料來源,請於 Data Source Name (資料來源名稱) 輸入要在 SQL 陳述式中使用的名稱。名稱最多可包含 127 個字元,且在您的帳戶中必須是唯一的。建立後便無法變更。有效字元包括 a-z、A-Z、0-9、_ (底線)、@ (at 符號) 和 - (連字號)。Athena 已保留名稱 awsdatacataloghivejmxsystem,這些名稱不能用於資料來源名稱。

  8. Lambda 函數中,選擇建立 Lambda 函數,然後選擇在 AWS Lambda 中新建 Lambda 函數

    AthenaHiveMetastoreFunction 頁面會在 AWS Lambda 主控台中開啟。此頁面包含連接器的詳細資訊。

    
                        AWS Lambda 主控台中的 AthenaHiveMetastoreFunction 頁面。
  9. 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 清單。

  10. 選擇 I acknowledge that this app creates custom IAM roles (我認可此應用程式建立自訂的 IAM 角色),然後選擇 Deploy (部署)。

    
                        從 AWS Lambda 主控台部署 Lambda 函數應用程式。

    部署完成時,您的函數會顯示在 Lambda 應用程式清單中。現在 Hive 中繼存放區函數已部署到您的帳戶,您可以設定 Athena 以使用它。

  11. 返回 Athena 主控台的 Enter data source details (輸入資料來源) 頁面。

  12. Lambda function (Lambda 函數) 區段中,選擇 Lambda 函數搜尋方塊旁的重新整理圖示。重新整理可用函數的清單可以使您新建立的函數出現在清單中。

  13. 選擇您剛才在 Lambda 主控台中建立的函數名稱。隨即顯示 Lambda 函數的 ARN。

  14. (選用) 在 Tags (標籤) 中,新增要與此資料來源相關聯的鍵值對。如需標籤的詳細資訊,請參閱標記 Athena 資源

  15. 選擇 Next (下一步)

  16. Review and create (檢閱並建立) 頁面上,檢閱資料來源詳細資訊,然後選擇 Create data source (建立資料來源)。

  17. 該頁面的 Data source details (資料來源詳細資訊) 區段顯示了有關新連接器的資訊。

    您現在可以使用您指定的 Data source name (資料來源名稱),在 Athena 的 SQL 查詢中指定參考 Hive 中繼存放區。在 SQL 查詢中,使用下列範例中的語法,將 hms-catalog-1 取代為您先前指定的目錄名稱。

    SELECT * FROM hms-catalog-1.CustomerData.customers
  18. 如需有關查看、編輯或刪除您建立的資料來源的資訊,請參閱 管理資料來源