

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

# 在 Athena 中註冊和使用資料目錄
<a name="gdc-register"></a>

Athena 支援掛載和連接至多個資料目錄。
+ 您可以在 中掛載 Amazon Redshift 資料 AWS Glue Data Catalog ，並從 Athena 查詢資料，而無需複製或移動資料。如需詳細資訊，請參閱[將 Amazon Redshift 資料帶入 AWS Glue Data Catalog](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-namespaces-datacatalog.html)。
+  使用 AWS Glue 連線將 AWS Glue Data Catalog 連接到外部資料來源，並使用 Lake Formation 建立聯合目錄，透過精細存取控制集中管理對資料的許可。如需詳細資訊，請參閱[將您的連線註冊為 Glue Data Catalog](register-connection-as-gdc.md)。
+ 從 Amazon S3 Tables 儲存貯體建立目錄，並使用 Lake Formation 集中管理存取許可，以及限制使用者存取資料表儲存貯體中的物件。如需詳細資訊，請參閱《Amazon S3 開發人員指南》中的[使用 Amazon S3 Tables 和資料表儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html)。

**注意**  
對於任何 Glue 目錄，您只能註冊多層級目錄，例如 `123412341234:my_catalog/my_child`。您無法註冊單一層級目錄，例如 `123412341234:linkcontainer` 或 `my_catalog`。單一層級目錄只能使用 Glue 資料目錄直接在 Athena 查詢中進行查詢。如需詳細資訊，請參閱[在 Athena 中查詢 AWS Glue 資料目錄](gdc-register-query-the-data-source.md)。

**Topics**
+ [在 Athena 中註冊 Redshift 資料目錄](gdc-register-rs.md)
+ [在 Athena 中註冊聯合目錄](gdc-register-federated.md)
+ [從 Athena 註冊 S3 Tables 儲存貯體目錄和查詢資料表](gdc-register-s3-table-bucket-cat.md)
+ [在 Athena 中查詢 AWS Glue 資料目錄](gdc-register-query-the-data-source.md)

# 在 Athena 中註冊 Redshift 資料目錄
<a name="gdc-register-rs"></a>

Athena 可以讀取和寫入存放在 Redshift 叢集或已在 AWS Glue Data Catalog中註冊的無伺服器命名空間中的資料。這可與 搭配運作 AWS Lake Formation，可提供集中式安全與控管，確保跨不同查詢引擎持續管理資料存取，並維護共用 Redshift 資料的精細存取控制。

## 考量和限制
<a name="gdc-register-rs-considerations-and-limitations"></a>
+ **具體化視觀表** – Amazon Redshift 具體化視觀表可從 Athena 查詢，但不支援使用 Athena 或 Spark 建立具體化視觀表。
+ 不支援 DDL 操作，包括在 Amazon Redshift 受管儲存資料表上設定 AWS Glue Data Catalog 組態和操作。

## 先決條件
<a name="gdc-register-rs-prerequisites"></a>

在從 Athena 查詢 AWS Glue 資料目錄之前，請先完成下列任務：

1. 建立 Amazon Redshift 叢集或無伺服器命名空間，並將其註冊至 AWS Glue Data Catalog。如需詳細資訊，請參閱《Amazon Redshift 管理指南》中的[將叢集註冊至 AWS Glue Data Catalog](https://docs.aws.amazon.com/redshift/latest/mgmt/register-cluster.html) 或[將命名空間註冊至 AWS Glue Data Catalog](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless_datasharing-register-namespace.html)。

1.  AWS Lake Formation 從註冊的命名空間在 中建立資料目錄。如需詳細資訊，請參閱[《 開發人員指南》中的建立 Amazon Redshift 聯合目錄](https://docs.aws.amazon.com/lake-formation/latest/dg/create-ns-catalog.html)。 AWS Lake Formation 

1. (選用) 使用 Lake Formation 在目錄上設定精細存取控制。如需詳細資訊，請參閱[《 開發人員指南》中的將您的資料帶入 AWS Glue Data Catalog](https://docs.aws.amazon.com/lake-formation/latest/dg/bring-your-data-overview.html) 。 AWS Lake Formation 

## 向 Athena 主控台註冊 Redshift 資料目錄
<a name="gdc-register-rs-console-steps"></a>

要向 Athena 主控台註冊 Redshift 資料目錄，請遵循下列步驟。

1. 前往 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/) 開啟 Athena 主控台。

1. 在導覽窗格中，選擇**資料來源和目錄**。

1. 在**資料來源和目錄**頁面上，選擇**建立資料來源**。

1. 對於**選擇資料來源**，選擇 **Amazon S3 - AWS Glue Data Catalog**。

1. 在 **AWS Glue Data Catalog** 區段中，對於**資料來源帳戶**，選擇**此帳戶中的AWS Glue Data Catalog **。

1. 針對**建立資料表或註冊目錄**，選擇**註冊新的 AWS Glue 目錄**。

1. 在**資料來源詳細資訊**區段中，對於**資料來源名稱**，輸入要用來在 SQL 查詢中指定資料來源的名稱，或使用產生的預設名稱。

1. 針對**目錄**，選擇**瀏覽**以搜尋相同帳戶中的 AWS Glue 目錄清單。如果沒有看到任何現有的目錄，請在 [AWS Glue 主控台](https://console.aws.amazon.com/glue/)中建立一個。

1. 在**瀏覽 AWS Glue 目錄**對話方塊中，選取您要使用的目錄，然後選擇**選擇**。

1. (選用) 對於**標籤**，輸入您希望與資料來源關聯的鍵值對。

1. 選擇**下一步**。

1. 在**檢閱和建立**頁面上，驗證您輸入的資訊是否正確無誤，然後選擇**建立資料來源**。

# 在 Athena 中註冊聯合目錄
<a name="gdc-register-federated"></a>

建立聯合資料來源的連線後，您可以將其註冊為聯合資料目錄，以簡化資料探索，並使用 Lake Formation 管理具有精細許可的資料存取。如需詳細資訊，請參閱[將您的連線註冊為 Glue Data Catalog](register-connection-as-gdc.md)。

## 考量和限制
<a name="gdc-register-federated-consideration"></a>
+ 聯合目錄不支援 DDL 操作。
+ 您可以註冊下列連接器，以與 整合 AWS Glue 以進行精細存取控制：
  + [Azure Data Lake 儲存體](connectors-adls-gen2.md)
  + [Azure Synapse](connectors-azure-synapse.md)
  + [BigQuery](connectors-bigquery.md)
  + [CMDB](connectors-cmdb.md)
  + [Db2](connectors-ibm-db2.md)
  + [Db2 iSeries](connectors-ibm-db2-as400.md)
  + [DocumentDB](connectors-docdb.md)
  + [DynamoDB](connectors-dynamodb.md)
  + [Google 雲端儲存](connectors-gcs.md)
  + [HBase](connectors-hbase.md)
  + [MySQL](connectors-mysql.md)
  + [OpenSearch](connectors-opensearch.md)
  + [Oracle](connectors-oracle.md)
  + [PostgreSQL](connectors-postgresql.md)
  + [Redshift](connectors-redshift.md)
  + [SAP HANA](connectors-sap-hana.md)
  + [Snowflake](connectors-snowflake.md)
  + [SQL Server](connectors-microsoft-sql-server.md)
  + [Timestream](connectors-timestream.md)
  + [TPC-DS](connectors-tpcds.md)
+ 為 Glue 連線聯合建立資源連結時，[資源連結](https://docs.aws.amazon.com/lake-formation/latest/dg/create-resource-link-database.html)的名稱必須與生產者的資料庫名稱相同。
+ 目前，即使資料來源不區分大小寫，也只能辨識小寫的資料表和資料欄名稱。

# 從 Athena 註冊 S3 Tables 儲存貯體目錄和查詢資料表
<a name="gdc-register-s3-table-bucket-cat"></a>

Amazon S3 Tables 儲存貯體是 Amazon S3 中的儲存貯體類型，專門用於在 Apache Iceberg 資料表中存放表格式資料。資料表儲存貯體可自動化資料表管理任務，例如壓縮、快照管理和垃圾回收，進而持續最佳化查詢效能並將成本降至最低。無論您是剛開始，還是在 Iceberg 環境中已擁有數千個資料表，資料表儲存貯體都可以簡化任何規模的資料湖。如需詳細資訊，請參閱[資料表儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets.html)。

## 考量和限制
<a name="gdc-register-s3-table-consideration"></a>
+ S3 Tables 支援 Iceberg 資料表支援的所有 DDL 操作，除了以下例外：
  + 不支援 `ALTER TABLE RENAME`、`CREATE VIEW` 和 `ALTER DATABASE`。
  + `OPTIMIZE` 和 `VACUUM` – 您可以在 S3 中管理壓縮和快照管理。如需詳細資訊，請參閱 [S3 Tables 維護文件](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-maintenance.html)。
+ 不支援對註冊為 Athena 資料來源的 S3 Tables 進行 DDL 查詢。
+ 不支援查詢結果重複使用。
+ 在已啟用 SSE-KMS、CSE-KMS 加密的工作群組中，您無法在 S3 Tables 上執行寫入操作，例如 `INSERT`、`UPDATE`、`DELETE` 或 `MERGE`。
+ 在已啟用 S3 請求者支付選項的工作群組中，您無法在 S3 Tables 上執行 DML 操作。

## 從 Athena 查詢 S3 Tables
<a name="gdc-register-s3-table-prereq-setup"></a>

**在 Athena 中查詢 S3 Tables 之前，請先完成以下先決條件步驟**

1. 建立 S3 資料表儲存貯體。如需詳細資訊，請參閱《Amazon Simple Storage Service 使用者指南》中的[建立資料表儲存貯體](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html)。

1. 請確定資料表儲存貯體與 的整合 AWS Glue Data Catalog 成功。如需必要的許可和設定步驟，請參閱《 AWS Glue 開發人員指南》中的 [ S3 Tables 整合和啟用 S3 Tables 與 Glue Data Catalog 整合的先決條件](https://docs.aws.amazon.com/glue/latest/dg/s3tables-catalog-prerequisites.html)。 [ S3 ](https://docs.aws.amazon.com/glue/latest/dg/enable-s3-tables-catalog-integration.html) 

1. 對於您使用 Athena 執行查詢的委託人，請使用下列其中一種方法授予 S3 Table 目錄的許可：

   **選項 1：使用 IAM 許可**

   使用 IAM 存取控制時，您的主體需要 AWS Glue Data Catalog 資源和 Amazon S3 Tables 資源的許可。

   下列清單包含對 Athena 中的 S3 資料表執行任何支援的 DDL 或 DML 操作所需的所有`s3tables`許可：
   + `s3tables:GetTableBucket`
   + `s3tables:GetNamespace`
   + `s3tables:GetTable`
   + `s3tables:GetTableData`
   + `s3tables:PutTableData`
   + `s3tables:ListNamespaces`
   + `s3tables:ListTables`
   + `s3tables:DeleteNamespace`
   + `s3tables:DeleteTable`
   + `s3tables:CreateNamespace`
   + `s3tables:CreateTable`
   + `s3tables:UpdateTableMetadataLocation`

   將這些許可套用至特定的 S3 資料表儲存貯體和 S3 資料表資源，或使用 `*`做為資源，以授予您帳戶中所有資料表儲存貯體和資料表的存取權。這些許可可以與 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAthenaFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAthenaFullAccess.html)受管政策結合，以啟用完整的功能。

   **選項 2：使用 Lake Formation 許可**

   或者，若要啟用精細存取控制，您可以透過 Lake Formation 主控台或 授予 S3 Table 目錄的 Lake Formation 許可 AWS CLI。這需要將您的 S3 資料表儲存貯體註冊為 Lake Formation 資料位置。如需詳細資訊，請參閱 Lake Formation 開發人員指南[中的建立 Amazon S3 Tables 目錄 AWS Glue Data Catalog](https://docs.aws.amazon.com/lake-formation/latest/dg/create-s3-tables-catalog.html)。

------
#### [ AWS 管理主控台 ]

   1. 開啟位於 的 AWS Lake Formation 主控台[https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/)，並以資料湖管理員身分登入。如需如何建立資料湖管理員的詳細資訊，請參閱[建立資料湖管理員](https://docs.aws.amazon.com/lake-formation/latest/dg/initial-lf-config.html#create-data-lake-admin)。

   1. 在導覽窗格中，選擇**資料許可**，然後選擇**授予**。

   1. 在**授予許可**頁面的**主體**下，選擇要用來從 Athena 提交查詢的主體。

   1. 在 **LF-標籤或型錄資源**下，選擇**已命名的的資料型錄資源**。

   1. 針對**目錄**，請選擇您從資料表儲存貯體整合中建立的 Glue 資料目錄。例如，*<accoundID>*:s3tablescatalog/*amzn-s3-demo-bucket*。

   1. 對於**目錄許可**，選擇**超級**。

   1. 選擇 **Grant** (授予)。

------
#### [ AWS CLI ]

   使用 Lake Formation 資料湖管理員角色執行下列命令，以授予您用於從 Athena 提交查詢的主體存取權。

   ```
   aws lakeformation grant-permissions \
   --region <region (Example,us-east-1)> \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "<user or role ARN (Example, arn:aws:iam::<Account ID>:role/ExampleRole>"
       },
       "Resource": {
           "Catalog": {
               "Id":"<Account ID>:s3tablescatalog/amzn-s3-demo-bucket"
           }
       },
       "Permissions": ["ALL"]
   }'
   ```

------

**提交 S3 Tables 的查詢**

1. 使用上文授予的使用者/角色從 Athena 提交 `CREATE DATABASE` 查詢。在此範例中，`s3tablescatalog` 是從整合建立的父 Glue Data Catalog，` s3tablescatalog/amzn-s3-demo-bucket` 是為每個 S3 Tables 儲存貯體建立的子 Glue Data Catalog。您進行查詢的方式有兩種。

------
#### [ Option 1 ]

   直接從主控台或 指定子 Glue Data Catalog (`s3tablescatalog/amzn-s3-demo-bucket`) AWS CLI。

   **使用 AWS 管理主控台**

   1. 前往 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/) 開啟 Athena 主控台。

   1. 在左側導覽中，對於**資料來源名稱**，選擇 **AwsDataCatalog**。

   1. 對於**目錄**，選擇 **s3tablescatalog/*amzn-s3-demo-bucket***。

   1. 在查詢編輯器中，輸入類似 `CREATE DATABASE test_namespace` 的查詢。

   **使用 AWS CLI**

   執行下列命令。

   ```
   aws athena start-query-execution \ 
   --query-string 'CREATE DATABASE `test_namespace`' \ 
   --query-execution-context '{"Catalog": "s3tablescatalog/amzn-s3-demo-bucket"}' \
   --work-group "primary"
   ```

------
#### [ Option 2 ]

   在 Athena 主控台中，從子 Glue Data Catalog 建立 Athena 資料目錄，並在查詢中將其指定為目錄。如需詳細資訊，請參閱[將 S3 Tables 儲存貯體目錄註冊為 Athena 資料來源](#gdc-register-s3-table-console-steps)。

------

1. 使用您在先前步驟中建立的資料庫，使用 `CREATE TABLE` 建立資料表。下列範例會在您先前在 `s3tablescatalog/amzn-s3-demo-bucket` Glue 目錄中建立的 *`test_namespace`* 資料庫中建立資料表。

------
#### [ AWS 管理主控台 ]

   1. 在左側導覽中，對於**資料來源名稱**，選擇 **AwsDataCatalog**。

   1. 對於**目錄**，選擇 **s3tablescatalog/*amzn-s3-demo-bucket***。

   1. 對於**資料庫**，選擇 **test\$1namespace**。

   1. 在查詢編輯器中，執行下列查詢。

      ```
      CREATE TABLE daily_sales (
              sale_date date,
              product_category
              string, sales_amount double)
      PARTITIONED BY (month(sale_date))
      TBLPROPERTIES ('table_type' = 'iceberg')
      ```

------
#### [ AWS CLI ]

   執行下列命令。

   ```
   aws athena start-query-execution \
   --query-string "CREATE TABLE daily_sales (
           sale_date date,
           product_category
           string, sales_amount double)
   PARTITIONED BY (month(sale_date))
   TBLPROPERTIES ('table_type' = 'iceberg')" \
   --query-execution-context '{"Catalog": "s3tablescatalog/amzn-s3-demo-bucket", "Database":"test_namespace"}' \
   --work-group "primary"
   ```

------

1. 將資料插入您在上一個步驟中建立的資料表。

------
#### [ AWS 管理主控台 ]

   1. 在左側導覽中，對於**資料來源名稱**，選擇 **AwsDataCatalog**。

   1. 對於**目錄**，選擇 **s3tablescatalog/*amzn-s3-demo-bucket***。

   1. 對於**資料庫**，選擇 **test\$1namespace**。

   1. 在查詢編輯器中，執行下列查詢。

      ```
      INSERT INTO daily_sales
      VALUES 
          (DATE '2024-01-15', 'Laptop', 900.00),
          (DATE '2024-01-15', 'Monitor', 250.00),
          (DATE '2024-01-16', 'Laptop', 1350.00),
          (DATE '2024-02-01', 'Monitor', 300.00);
      ```

------
#### [ AWS CLI ]

   執行下列命令。

   ```
   aws athena start-query-execution \
   --query-string "INSERT INTO \"s3tablescatalog/amzn-s3-demo-bucket\".test_namespace.daily_sales
   VALUES 
   (DATE '2024-01-15', 'Laptop', 900.00),
   (DATE '2024-01-15', 'Monitor', 250.00),
   (DATE '2024-01-16', 'Laptop', 1350.00),
   (DATE '2024-02-01', 'Monitor', 300.00)"\ 
   --work-group "primary"
   ```

------

1. 將資料插入資料表後，即可進行查詢。

------
#### [ AWS 管理主控台 ]

   1. 在左側導覽中，對於**資料來源名稱**，選擇 **AwsDataCatalog**。

   1. 對於**目錄**，選擇 **s3tablescatalog/*amzn-s3-demo-bucket***。

   1. 對於**資料庫**，選擇 **test\$1namespace**。

   1. 在查詢編輯器中，執行下列查詢。

      ```
      SELECT
          product_category,
          COUNT(*) AS units_sold,
          SUM(sales_amount) AS total_revenue,
          AVG(sales_amount) AS average_price
      FROM
          daily_sales
      WHERE
          sale_date BETWEEN DATE '2024-02-01' 
                       AND DATE '2024-02-29'
      GROUP BY
          product_category
      ORDER BY
          total_revenue DESC
      ```

------
#### [ AWS CLI ]

   執行下列命令。

   ```
   aws athena start-query-execution \
   --query-string "SELECT product_category,
       COUNT(*) AS units_sold,
       SUM(sales_amount) AS total_revenue,
       AVG(sales_amount) AS average_price
   FROM \"s3tablescatalog/amzn-s3-demo-bucket\".test_namespace.daily_sales
   WHERE sale_date BETWEEN DATE '2024-02-01' AND DATE '2024-02-29'
   GROUP BY product_category
   ORDER BY total_revenue DESC"\
   --work-group "primary"
   ```

------

## 在 Athena 中建立 S3 Tables
<a name="gdc-create-s3-tables-athena"></a>

Athena 支援使用 `CREATE DATABASE` 陳述式在現有的 S3 Table 命名空間中或在 Athena 中建立的命名空間中建立資料表。若要從 Athena 建立 S3 資料表，則語法與[建立一般 Iceberg 資料表](querying-iceberg-creating-tables.md)時相同，只是您不需要指定 `LOCATION`，如下列範例所示。

```
CREATE TABLE
[db_name.]table_name (col_name data_type [COMMENT col_comment] [, ...] )
[PARTITIONED BY (col_name | transform, ... )]
[TBLPROPERTIES ([, property_name=property_value] )]
```

您也可以使用 CREATE TABLE AS SELECT (CTAS) 陳述式建立 S3 Tables。如需詳細資訊，請參閱[S3 Tables 的 CTAS](#ctas-s3-tables)。

## 將 S3 Tables 儲存貯體目錄註冊為 Athena 資料來源
<a name="gdc-register-s3-table-console-steps"></a>

要向 Athena 主控台註冊 S3 Tables 儲存貯體目錄，請遵循下列步驟。

1. 前往 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/) 開啟 Athena 主控台。

1. 在導覽窗格中，選擇**資料來源和目錄**。

1. 在**資料來源和目錄**頁面上，選擇**建立資料來源**。

1. 對於**選擇資料來源**，選擇 **Amazon S3 - AWS Glue Data Catalog**。

1. 在 **AWS Glue Data Catalog** 區段中，對於**資料來源帳戶**，選擇**此帳戶中的AWS Glue Data Catalog **。

1. 針對**建立資料表或註冊目錄**，選擇**註冊新的 AWS Glue 目錄**。

1. 在**資料來源詳細資訊**區段中，對於**資料來源名稱**，輸入要用來在 SQL 查詢中指定資料來源的名稱，或使用產生的預設名稱。

1. 針對**目錄**，選擇**瀏覽**以搜尋相同帳戶中的 AWS Glue 目錄清單。如果沒有看到任何現有的目錄，請在 [AWS Glue 主控台](https://console.aws.amazon.com/glue/)中建立一個。

1. 在**瀏覽 AWS Glue 目錄**對話方塊中，選取您要使用的目錄，然後選擇**選擇**。

1. (選用) 對於**標籤**，輸入您希望與資料來源關聯的鍵值對。

1. 選擇**下一步**。

1. 在**檢閱和建立**頁面上，驗證您輸入的資訊是否正確無誤，然後選擇**建立資料來源**。

## S3 Tables 的 CTAS
<a name="ctas-s3-tables"></a>

Amazon Athena 現在支援對 S3 Tables 執行 CREATE TABLE AS SELECT (CTAS) 操作。這項功能可讓您根據 SELECT 查詢的結果建立新的 S3 Tables。

與標準 Athena 資料表相比，為 S3 資料表建立 CTAS 查詢時，有幾項重要差異：
+ 您必須省略位置屬性，因為 S3 Tables 會自動管理自己的儲存位置。
+ `table_type` 屬性預設為 `ICEBERG`，因此您無需在查詢中明確進行指定。
+ 如果您未指定格式，則系統會自動使用 `PARQUET` 作為資料的預設格式。
+ 所有其他屬性都遵循與一般 Iceberg 資料表相同的語法。

使用 CTAS 建立 S3 資料表之前，請確定您已在 IAM 或 中設定必要的許可 AWS Lake Formation。具體而言，您需要許可才能在 S3 Tables 目錄中建立資料表。如果沒有這些許可，您的 CTAS 操作將會失敗。

**注意**  
如果您的 CTAS 查詢失敗，您可能需要使用 [S3 Tables API](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-delete.html) 刪除資料表，然後才能嘗試重新執行查詢。您無法使用 Athena `DROP TABLE` 陳述式來移除部分由查詢建立的資料表。

**範例**

```
CREATE TABLE "s3tablescatalog/amzn-s3-demo-bucket"."namespace"."s3-table-name"
WITH (
    format = 'PARQUET'
)
AS SELECT *
FROM source_table;
```

# 在 Athena 中查詢 AWS Glue 資料目錄
<a name="gdc-register-query-the-data-source"></a>

若要從 Athena 查詢資料目錄，請執行下列其中一項動作。
+ 在 Athena 中將目錄註冊為資料來源，然後使用資料來源名稱查詢目錄。在這種用法中，下列查詢是相同的。

  ```
  SELECT * FROM my_data_source.my_database.my_table
  ```
+ 如果您要查詢尚未註冊為 Athena 資料來源的目錄，您可以在 `SELECT` 查詢中提供目錄的完整路徑，如下列範例所示。

  ```
  SELECT * FROM "my_catalog/my_subcatalog".my_database.my_table
  ```
+ 您也可以透過 執行此操作 AWS 管理主控台。

  1. 前往 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/) 開啟 Athena 主控台

  1. 在查詢編輯器中，對於**資料來源**，選擇 **AwsDataCatalog**。

  1. 對於**目錄**，選擇您要使用的目錄的名稱。

  1. 對於**資料庫**，選擇包含您要查詢的資料表的資料庫。

  1. 輸入類似 `SELECT * FROM my_table` 的查詢，然後選擇**執行**。