查詢 AWS Glue Data Catalog - Amazon Redshift

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

查詢 AWS Glue Data Catalog

您可以使用查詢編輯器 v2 查詢目錄中的數據 AWS Glue Data Catalog 通過使用特定SQL命令並授予本節中概述的權限。默認情況下, AWS Glue Data Catalog 被列為一個查詢編輯器 v2 數據庫名為awsdatacatalog. 查詢 AWS Glue Data Catalog 並非所有 Amazon Redshift 都可用 AWS 區域。 使用指SHOW令來判斷此功能是否可用。如需關於 AWS Glue,請參閱什麼是 AWS Glue? AWS Glue 開發人員指南

注意

查詢 AWS Glue Data Catalog 僅在 Amazon Redshift RA3 節點類型叢集和 Amazon Redshift 無伺服器中受支援。

您可以設定資料倉儲並檢視 AWS Glue 使用下列SQL命令編目的資料庫物件:

  • SHOW— 顯示目前連線的資料倉儲awsdatacatalog是否已裝載。例如,若要顯示 data_catalog_auto_mount 參數值,請執行:

    SHOW data_catalog_auto_mount;

    如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南SHOW中的。

  • ALTERSYSTEM— 以變更的data_catalog_auto_mount系統層級組態。例如,若要將 data_catalog_auto_mount 參數值變更為 on,請執行:

    ALTER SYSTEM SET data_catalog_auto_mount = on;

    當佈建叢集重新啟動或無伺服器工作群組自動暫停並繼續時,變更便會生效。如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南ALTERSYSTEM中的。

  • SHOWSCHEMAS— 顯示結構描述清單。名為的數據庫中的模式awsdatacatalog代表 AWS Glue 目錄中的資料庫 AWS Glue Data Catalog。 例如,若要顯示這些結構描述,請執行:

    SHOW SCHEMAS FROM DATABASE awsdatacatalog;

    如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南SHOWSCHEMAS中的。

  • SHOWTABLES— 顯示結構描述中的表格清單。例如,若要顯示中的表格 AWS Glue Data Catalog 在模式中awsdatacatalog命名的數據庫myglue運行:

    SHOW TABLES FROM SCHEMA awsdatacatalog.myschema;

    如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南SHOWTABLES中的。

  • SHOWCOLUMNS— 顯示表格中的欄清單。例如,若要顯示中的欄 AWS Glue Data Catalog 在模式myglueawsdatacatalog表中命名的數據庫mytable運行:

    SHOW COLUMNS FROM TABLE awsdatacatalog.myglue.mytable;

    如需詳細資訊,請參閱 Amazon Redshift 資料庫開發人員指南SHOWCOLUMNS中的。

若要授與您的IAM使用者或角色查詢權限 AWS Glue Data Catalog,
  1. 在樹狀檢視窗格中,使用資料庫使用者名稱和密碼身分驗證方法,連線至佈建叢集或無伺服器工作群組中的初始資料庫。例如,使用您在建立叢集或工作群組時使用的管理員使用者和密碼連線至 dev 資料庫。

  2. 在編輯器索引標籤中,執行下列SQL陳述式以授與IAM使用者存取 AWS Glue Data Catalog.

    GRANT USAGE ON DATABASE awsdatacatalog to "IAM:myIAMUser"

    位置 IAM:myIAMUser 是您要授與使用權限的使用IAM者 AWS Glue Data Catalog。 或者,您可以將使用權限授與 IAMR:myIAMRole 對於某個IAM角色。

  3. 在樹狀檢視窗格中,編輯或刪除先前建立的叢集或工作群組連線。使用下列其中一種方式連線至叢集或工作群組:

    • 若要從叢集存取awsdatacatalog資料庫,您必須使用驗證方法使用您的IAM身分識別的臨時認證。如需此身分驗證方法的相關資訊,請參閱連線至 Amazon Redshift 資料庫。您的查詢編輯器 v2 管理員可能需要設定帳戶的帳戶設定,才能在連線視窗上顯示此身分驗證方法。

    • 若要從工作群組存取 awsdatacatalog 資料庫,您必須使用身分驗證方法聯合身分使用者。如需此身分驗證方法的相關資訊,請參閱連線至 Amazon Redshift 資料庫

  4. 具有授予的權限,您可以使用您的IAM身份SQL對您的身份運行 AWS Glue Data Catalog.

連接後,您可以使用查詢編輯器 v2 查詢編目的數據 AWS Glue Data Catalog。 在查詢編輯器 v2 樹狀檢視窗格中,選擇叢集或工作群組和awsdatacatalog資料庫。在編輯器或筆記本窗格中,確認您已選擇正確的叢集或工作群組。所選擇的資料庫應該是初始的 Amazon Redshift 資料庫,例如 dev。如需有關編寫查詢的資訊,請參閱使用 Amazon Redshift 編寫查詢Amazon Redshift 中的筆記本。系統會保留名為 awsdatacatalog 的資料庫,以參考帳戶中的外部 Data Catalog 資料庫。對 awsdatacatalog 資料庫所進行的查詢只能是唯讀的。使用三部分表示法來參考SELECT陳述式中的資料表。其中第一部分是數據庫名稱,第二部分是 AWS Glue 資料庫名稱,第三部分是 AWS Glue 表格名稱。

SELECT * FROM awsdatacatalog.<aws-glue-db-name>.<aws-glue-table-name>;

您可以執行讀取的各種案例 AWS Glue Data Catalog 數據和填充 Amazon Redshift 表。

下列範例會SQL連接在中定義的兩個資料表 AWS Glue.

SELECT pn.emp_id, alias, role, project_name FROM "awsdatacatalog"."empl_db"."project_name_table" pn, "awsdatacatalog"."empl_db"."project_alias_table" pa WHERE pn.emp_id = pa.emp_id;

下列範例會SQL建立 Amazon Redshift 表格,並將兩個聯結中的資料填入表格中的資料 AWS Glue 表。

CREATE TABLE dev.public.glue AS SELECT pn.emp_id, alias, role, project_name FROM "awsdatacatalog"."empl_db"."project_name_table" pn, "awsdatacatalog"."empl_db"."project_alias_table" pa WHERE pn.emp_id = pa.emp_id;