本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
若要將 AWS Glue Data Catalog 連線至 Hive 中繼存放區,您需要部署名為 GlueDataCatalogFederation-HiveMetastore
AWS SAM 應用程式會使用 Lambda 函數建立 Amazon API Gateway 後方 Hive 中繼存放區的連線。 AWS SAM 應用程式使用統一資源識別符 (URI) 做為使用者的輸入,並將外部 Hive 中繼存放區連接到 Data Catalog。當使用者在 Hive 資料表上執行查詢時,Data Catalog 會呼叫 API Gateway 端點。端點會叫用 Lambda 函數來擷取 Hive 資料表的中繼資料。
將 Data Catalog 連線至 Hive 中繼存放區並設定許可
-
部署 AWS SAM 應用程式。
登入 AWS Management Console 並開啟 AWS Serverless Application Repository。
選擇在導覽窗格中的 Available applications (可用的應用程式)。
-
選擇公有應用程式。
選取選項 Show apps that create custom IAM roles or resource policies (顯示建立自訂 IAM 角色或資源政策的應用程式)。
在搜尋方塊中,輸入名稱 GlueDataCatalogFederation-HiveMetastore。
-
選擇 GlueDataCatalogFederation-HiveMetastore 應用程式。
-
在應用程式設定下,輸入 Lambda 函數的下列最低必要設定:
應用程式名稱 - 您 AWS SAM 應用程式的名稱。
GlueConnectionName - 連線的名稱。
HiveMetastoreURIs - Hive 中繼存放區主機的 URI。
-
LambdaMemory - 來自 128-10240 的 Lambda 記憶體數量,以 MB 為單位。預設值為 1024。
LambdaTimeout - Lambda 調用執行時間上限,以秒為單位。預設值為 30。
VPCSecurityGroupIds 和 VPCSubnetIds - Hive 中繼存放區所在的 VPC 資訊。
選擇 I acknowledge that this app creates custom IAM roles and resource policies (我認可此應用程式建立自訂的 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 的每個 Hive 中繼存放區資料庫,在 Data Catalog 中建立對應的資料庫。
-
在資料共用頁面上,選擇共用資料庫索引標籤,然後選擇建立資料庫。
針對連線名稱,從下拉式功能表中選擇 Hive 中繼存放區連線的名稱。
輸入資料庫的唯一資料庫名稱和聯合來源識別符。這是您在查詢資料表時在 SQL 陳述式中使用的名稱。名稱最多可包含 255 個字元,而且在您的帳戶中必須是唯一的。
選擇建立資料庫。
-
檢視聯合資料庫中的資料表。
建立聯合資料庫之後,您可以使用 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;