使用 Athena 查詢 Amazon S3 資料表 - Amazon Simple Storage Service

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

使用 Athena 查詢 Amazon S3 資料表

Amazon Athena 是一種互動式查詢服務,您可以使用標準 SQL 直接在 Amazon S3 中分析資料。如需詳細資訊,請參閱《Amazon Athena 使用者指南》中的什麼是 Amazon Athena?

將資料表儲存貯體與 AWS 分析服務整合後,您可以使用 Athena 在 S3 資料表上執行資料定義語言 (DDL)、資料處理語言 (DML) 和資料查詢語言 (DQL) 查詢。如需如何查詢資料表儲存貯體中資料表的詳細資訊,請參閱《Amazon Athena 使用者指南》中的註冊 S3 資料表儲存貯體目錄

您也可以從 Amazon S3 主控台在 Athena 中執行查詢。

重要

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

如果您的資料表定義包含大寫字母,您在 Athena 中執行SELECT查詢時會收到下列錯誤訊息:「GENERIC_INTERNAL_ERROR:取得資料表請求失敗:com.amazonaws.services.glue.model.ValidationException:不支援的聯合資源 - 無效的資料表或資料欄名稱。」

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

注意

在執行下列步驟之前,請確定您已將資料表儲存貯體與此區域中的 AWS 分析服務整合。如需詳細資訊,請參閱將 Amazon S3 Tables 與 AWS 分析服務整合

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

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

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

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

  5. 選擇具有 Athena 的查詢資料表

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

    在查詢編輯器中,目錄欄位應填入 s3tablescatalog/,後面接著資料表儲存貯體的名稱,例如 s3tablescatalog/amzn-s3-demo-bucket資料庫欄位應填入儲存資料表的命名空間。

    注意

    如果您在目錄資料庫欄位中沒有看到這些值,請確定您已將資料表儲存貯體與此區域中的 AWS 分析服務整合。如需詳細資訊,請參閱將 Amazon S3 Tables 與 AWS 分析服務整合

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

    注意
    • 如果您收到錯誤「執行查詢的許可不足。當您嘗試在 Athena 中執行查詢時,委託人對指定資源沒有任何權限,您必須獲得資料表上必要的 Lake Formation 許可。如需詳細資訊,請參閱授予資料表或資料庫的 Lake Formation 許可

    • 如果您在嘗試執行查詢時收到錯誤「Iceberg 無法存取請求的資源」,請前往 AWS Lake Formation 主控台,並確定您已授予自己所建立資料表儲存貯體目錄和資料庫 (命名空間) 的許可。授予這些許可時,請勿指定資料表。如需詳細資訊,請參閱授予資料表或資料庫的 Lake Formation 許可

    • 如果您在 Athena 中執行SELECT查詢時收到下列錯誤訊息,此訊息是因為資料表名稱中有大寫字母,或資料表定義中有欄名稱:「GENERIC_INTERNAL_ERROR:取得資料表請求失敗:com.amazonaws.services.glue.model.ValidationException:不支援的聯合資源 - 無效的資料表或欄名稱。」 請確定您的資料表和資料欄名稱都是小寫。