View a markdown version of this page

教學課程:開始使用 S3 Tables - Amazon Simple Storage Service

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

教學課程:開始使用 S3 Tables

在本教學課程中,您會建立資料表儲存貯體,並將區域中的資料表儲存貯體與 AWS 分析服務整合。接著,您將使用 AWS CLI 或 主控台,在資料表儲存貯體中建立第一個命名空間和資料表。然後,您可以開始使用 Athena 查詢資料表。

提示

如果您要將表格式資料從一般用途儲存貯體移轉至資料表儲存貯體,在 AWS 解決方案程式庫中可找到引導式解決方案來協助您。此解決方案使用 Apache Iceberg和 Amazon EMR 搭配 ,自動將已註冊 AWS Glue Data Catalog 並存放在一般用途儲存貯體中的 Apache Hive AWS Step Functions 和 資料表移至資料表儲存貯體Apache Spark。如需詳細資訊,請參閱 AWS 解決方案程式庫中的將表格式資料從 Amazon S3 移轉至 S3 資料表的指引

步驟 1:建立資料表儲存貯體並將其與 AWS 分析服務整合

在此步驟中,您可以使用 Amazon S3 主控台來建立您的第一個資料表儲存貯體。如需建立資料表儲存貯體的其他方法,請參閱建立資料表儲存貯體

注意

根據預設,Amazon S3 主控台會自動將資料表儲存貯體與 整合 AWS Glue Data Catalog,讓 AWS 分析服務能夠自動探索和存取 S3 Tables 資料。如果您使用 AWS Command Line Interface (AWS CLI)、 AWS SDKs或 REST API,以程式設計方式建立第一個資料表儲存貯體,則必須手動完成 AWS 分析服務整合。如需詳細資訊,請參閱將 Amazon S3 Tables 與 AWS 分析服務整合

  1. 登入 AWS 管理主控台 ,並在 https://console.aws.amazon.com/s3/:// 開啟 Amazon S3 主控台。

  2. 在頁面頂端的導覽列中,選擇目前顯示的名稱 AWS 區域。​接下來,選擇您要在其中建立資料表儲存貯體的區域。

  3. 在左側導覽窗格中,選擇資料表儲存貯體

  4. 選擇 建立資料表儲存貯體

  5. 一般組態下,輸入資料表儲存貯體的名稱。

    資料表儲存貯體名稱必須;

    • 對於目前區域中的 ,在 AWS 帳戶 中是唯一的。

    • 長度必須介於 3 與 63 個字元之間。

    • 只能由小寫字母、數字和連字號 (-) 組成。

    • 開頭和結尾為字母或數字。

    建立儲存貯體後,您無法變更其名稱。 AWS 帳戶 建立資料表儲存貯體的 擁有它。如需有關命名資料表儲存貯體的詳細資訊,請參閱 資料表儲存貯體命名規則

  6. 與 AWS 分析服務整合區段中,確定已選取啟用整合核取方塊。

    如果使用主控台建立第一個資料表儲存貯體時選取啟用整合,Amazon S3 會嘗試整合資料表儲存貯體與 AWS 分析服務。此整合可讓您使用 AWS 分析服務來存取目前區域中的所有資料表。如需詳細資訊,請參閱將 Amazon S3 Tables 與 AWS 分析服務整合

  7. 選擇建立儲存貯體

步驟 2:建立資料表命名空間和資料表

在此步驟中,您會在資料表儲存貯體中建立命名空間,然後在該命名空間下建立新的資料表。您可以使用主控台或 AWS CLI建立資料表命名空間和資料表。

重要

建立資料表時,請務必在資料表名稱和資料表定義中,全部都使用小寫字母。例如,確定欄的名稱都小寫。如果您的資料表名稱或資料表定義包含大寫字母,則 AWS Lake Formation 或 不支援資料表 AWS Glue Data Catalog。在這種情況下,即使您的資料表儲存貯體與 AWS 分析服務整合,Amazon Athena 等 AWS 分析服務也看不到您的資料表。

如果您的資料表定義包含大寫字母,您在 Athena 中執行 SELECT 查詢時會收到下列錯誤訊息:"GENERIC_INTERNAL_ERROR: Get table request failed: com.amazonaws.services.glue.model.ValidationException: Unsupported Federation Resource - Invalid table or column names."

下列程序會使用 Amazon S3 主控台建立具有 Amazon Athena 的命名空間和資料表。

建立資料表命名空間和資料表
  1. 登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇資料表儲存貯體

  3. 資料表儲存貯體頁面上,選擇要在其中建立資料表的資料表儲存貯體。

  4. 在資料表儲存貯體詳細資訊頁面上,選擇使用 Athena 建立資料表

  5. 使用 Athena 建立資料表對話方塊中,選擇建立命名空間,然後在命名空間名稱欄位中輸入名稱。命名空間名稱必須具有 1 到 255 個字元,而且在資料表儲存貯體中是唯一的。有效字元為 a-z、0-9 和 _ (_)。命名空間名稱開頭不得為底線。

  6. 選擇 Create namespace (建立命名空間)

  7. 選擇使用 Athena 建立資料表

  8. Amazon Athena 主控台隨即開啟,並顯示 Athena 查詢編輯器。查詢編輯器會填入可用來建立資料表的查詢範例。修改查詢以指定您希望資料表擁有的資料表名稱和欄位。

  9. 修改完查詢後,請選擇執行以建立資料表。

如果您的資料表建立成功,新資料表的名稱會出現在 Athena 中的資料表清單中。當您導覽回到 Amazon S3 主控台時,新資料表會在重新整理清單後,出現在資料表儲存貯體的詳細資訊頁面上的資料表清單中。

若要使用下列 AWS CLI 範例命令在資料表儲存貯體中建立命名空間,然後在該命名空間下建立具有結構描述的新資料表,請將user input placeholder值取代為您自己的值。

先決條件
  1. 執行下列命令,在資料表儲存貯體中建立新的命名空間:

    aws s3tables create-namespace \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace
    1. 執行下列命令,確認成功建立您的命名空間:

      aws s3tables list-namespaces \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket
  2. 執行以下命令,建立具資料表結構描述的新資料表。

    aws s3tables create-table --cli-input-json file://mytabledefinition.json

    針對 mytabledefinition.json 檔案,使用下列範例資料表定義:

    { "tableBucketARN": "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket", "namespace": "my_namespace", "name": "my_table", "format": "ICEBERG", "metadata": { "iceberg": { "schema": { "fields": [ {"name": "id", "type": "int","required": true}, {"name": "name", "type": "string"}, {"name": "value", "type": "int"} ] } } } }

步驟 3:在 Athena 中使用 SQL 查詢資料

您可以在 Athena 中使用 SQL 查詢資料表。Athena 支援 S3 Tables 的資料定義語言 (DDL)、資料處理語言 (DML) 和資料查詢語言 (DQL) 查詢。

您可以從 Amazon S3 主控台或透過 Amazon Athena 主控台查詢。

下列程序使用 Amazon S3 主控台存取 Athena 查詢編輯器,讓您可以使用 Amazon Athena 查詢資料表。

查詢資料表
  1. 登入 AWS 管理主控台 ,並在 https://https://console.aws.amazon.com/s3/ 開啟 Amazon S3 主控台。

  2. 在左側導覽窗格中,選擇資料表儲存貯體

  3. 資料表儲存貯體頁面上,選擇包含您要查詢之資料表的資料表儲存貯體。

  4. 在資料表儲存貯體詳細資訊頁面上,選擇您要查詢之資料表名稱旁的選項按鈕。

  5. 選擇使用 Athena 查詢資料表

  6. Amazon Athena 主控台隨即開啟,並顯示 Athena 查詢編輯器,其中提供為您載入的範例 SELECT 查詢。視需要為您的使用案例修改此查詢。

  7. 若要執行查詢,選擇 Run (執行)。

查詢資料表
  1. 前往 https://console.aws.amazon.com/athena/ 開啟 Athena 主控台。

  2. 查詢您的資料表。以下是您可以修改的範例查詢。請務必以您自己的資訊取代 user input placeholders

    SELECT * FROM "s3tablescatalog/amzn-s3-demo-table-bucket"."my_namespace"."my_table" LIMIT 10
  3. 若要執行查詢,選擇 Run (執行)。