查詢 AWS Glue Data Catalog - Amazon Redshift

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

查詢 AWS Glue Data Catalog

您可以使用查詢編輯器 v2 來查詢 AWS Glue Data Catalog中所編目的資料。依預設,會列 AWS Glue Data Catalog 為名為的查詢編輯器 v2 資料庫awsdatacatalog。並非所有 Amazon Redshift AWS 區域都提供查詢。 AWS Glue Data Catalog 請使用 SHOW 命令來判斷此功能是否可用。如需有關的詳細資訊 AWS Glue,請參閱什麼是 AWS Glue?AWS Glue 開發人員指南中。

注意

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

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

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

    SHOW data_catalog_auto_mount;

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

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

    ALTER SYSTEM SET data_catalog_auto_mount = on;

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

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

    SHOW SCHEMAS FROM DATABASE awsdatacatalog;

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

  • SHOW TABLES — 顯示結構描述中的資料表清單。例如,要顯示 AWS Glue Data Catalog 數據庫中名為模式中awsdatacatalog的表,請myglue運行:

    SHOW TABLES FROM SCHEMA awsdatacatalog.myschema;

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

  • SHOW COLUMNS — 顯示資料表中的資料欄清單。例如,要顯示數 AWS Glue Data Catalog 據庫中名awsdatacatalog為模式myglue和表格mytable運行的列:

    SHOW COLUMNS FROM TABLE awsdatacatalog.myglue.mytable;

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

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

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

    GRANT USAGE ON DATABASE awsdatacatalog to "IAM:myIAMUser"

    其中 IAM:myIAMUser 是您想要向其授予 AWS Glue Data Catalog使用權限的 IAM 使用者。或者,您也可以將 IAMR:myIAMRole 的使用權限授予 IAM 角色。

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

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

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

  4. 透過所授予的權限,您可以使用 IAM 身分來針對您的 AWS Glue Data Catalog執行 SQL。

連線後,您可以使用查詢編輯器 v2 來查詢 AWS Glue Data Catalog中所編目的資料。在查詢編輯器 v2 的樹狀檢視窗格上,選擇叢集或工作群組和 awsdatacatalog 資料庫。在編輯器或筆記本窗格中,確認您已選擇正確的叢集或工作群組。所選擇的資料庫應該是初始的 Amazon Redshift 資料庫,例如 dev。如需有關編寫查詢的資訊,請參閱編寫和執行查詢編寫和執行筆記本。系統會保留名為 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;