查詢 AWS Glue Data Catalog - Amazon Redshift

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

查詢 AWS Glue Data Catalog

您可以使用查詢編輯器 v2, AWS Glue Data Catalog 透過使用特定 SQL 命令並授予本節中概述的許可,查詢 中編製目錄的資料。依預設, AWS Glue Data Catalog 會列為名為 awsdatacatalog 的查詢編輯器 v2 資料庫。並非所有 Amazon Redshift AWS 區域都可查詢 AWS Glue Data Catalog 。請使用 SHOW 命令來判斷此功能是否可用。如需詳細資訊 AWS Glue,請參閱《 AWS Glue 開發人員指南》中的什麼是 AWS Glue?

注意

只有 Amazon Redshift RA3 節點類型叢集和 Amazon Redshift Serverless 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 — 顯示結構描述的清單。名為 的資料庫中的結構描述awsdatacatalog代表 中編製目錄的 AWS Glue 資料庫 AWS Glue Data Catalog。例如,若要顯示這些結構描述,請執行:

    SHOW SCHEMAS FROM DATABASE awsdatacatalog;

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

  • SHOW TABLES — 顯示結構描述中的資料表清單。例如,若要顯示名為 awsdatacatalog的 AWS Glue Data Catalog 資料庫中在結構描述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。如需有關編寫查詢的資訊,請參閱使用 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;

查詢 Amazon S3 資料表 (預覽)

您可以使用查詢編輯器 v2 來查詢掛載到 的 Amazon S3table 目錄中保留的資料 AWS Glue Data Catalog。Amazon S3 資料表目錄會在建立 AWS Glue Data Catalog 時掛載到 ,並自動在相同帳戶 AWS 區域 下的相同 中,在所有佈建叢集和無伺服器工作群組上顯示為外部資料庫。如需使用 Amazon Redshift 存取 Amazon S3 資料表的詳細資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用 Amazon Redshift 存取 Amazon S3 資料表