本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將 Data Catalog 連接至外部 Hive 中繼存放區
若要將 AWS Glue Data Catalog 連線到 Hive 中繼存放區,您需要部署名為 GlueDataCatalogFederation-HiveMetastore
AWS SAM 應用程式會使用 Lambda 函數為 Amazon API Gateway 後方的 Hive 中繼存放區建立連線。 AWS SAM 應用程式會使用統一的資源識別碼 (URI) 作為使用者的輸入,並將外部 Hive 中繼存放區連接至 Data Catalog。當使用者在 Hive 資料表上執行查詢時,Data Catalog 會呼叫API閘道端點。端點會叫用 Lambda 函數來擷取 Hive 資料表的中繼資料。
將 Data Catalog 連接至 Hive 中繼存放區並設定許可
-
部署 AWS SAM 應用程式。
登入 AWS Management Console 並開啟 AWS Serverless Application Repository。
選擇在導覽窗格中的 Available applications (可用的應用程式)。
-
選擇 公有應用程式 。
選取 顯示建立自訂IAM角色或資源政策的應用程式 。
在搜尋方塊中,輸入名稱 GlueDataCatalogFederation-HiveMetastore。
-
選擇 GlueDataCatalogFederation-HiveMetastore 應用程式。
-
在應用程式設定 下,輸入 Lambda 函數的下列最低必要設定:
應用程式名稱 - 應用程式的名稱 AWS SAM 。
GlueConnectionName - 連線的名稱。
HiveMetastoreURIs - Hive 中繼存放區主機URI的 。
-
LambdaMemory - 從 128-10240 開始,Lambda 記憶體的 MB 數量。預設值為 1024。
LambdaTimeout - Lambda 調用執行時間上限,以秒為單位。預設值為 30。
VPCSecurityGroupIds 和 VPCSubnetIds - VPC Hive 中繼存放區所在的 資訊。
選取我確認此應用程式會建立自訂IAM角色和資源政策 。如需詳細資訊,請選擇 Info (資訊) 連結。
在 Application settings (應用程式設定) 部分的右下方,選擇 Deploy (部署)。部署完成後,Lambda 函數會出現在 Lambda 主控台的 Resources (資源) 區段中。
應用程式已部署至 Lambda。其名稱以 serverlessrepo- 開頭,表示應用程式已從 部署 AWS Serverless Application Repository。選取應用程式會帶您前往資源頁面,其中會列出已部署應用程式的每個資源。資源包括 Lambda 函數,允許資料目錄與 Hive 中繼存放區之間、 AWS Glue 連線,以及資料庫聯合所需的其他資源進行通訊。
-
在 Data Catalog 中建立聯合資料庫。
建立 Hive 中繼存放區連線後,您可以在 Data Catalog 中建立聯合資料庫,該資料庫指向外部 Hive 中繼存放區資料庫。您需要在 Data Catalog 中為連線到 Data Catalog 的每個 Hive 中繼存放區資料庫建立對應的資料庫。
-
檢視聯合資料庫中的資料表。
建立聯合資料庫之後,您可以使用 Lake Formation 主控台或 檢視 Hive 中繼存放區中的資料表清單 AWS CLI。
-
授予許可。
建立資料庫之後,您可以將許可授予帳戶中的其他IAM使用者和角色,或外部 AWS 帳戶 和組織。您將無法在聯合式資料庫上授予寫入資料許可 (插入、刪除) 和中繼資料許可 (變更、捨棄、建立)。如需授予許可的詳細資訊,請參閱 管理 Lake Formation 許可。
-
查詢聯合資料庫。
授予許可後,使用者可以使用 Athena 和 Amazon Redshift 登入並開始查詢聯合資料庫。使用者現在可以使用本機資料庫名稱,在SQL查詢中參考 Hive 資料庫。
Amazon Athena 查詢語法範例
fed_glue_db
將 取代為您先前建立的本機資料庫名稱。Select * from fed_glue_db.customers limit 10;