使用 Amazon Athena 聯合查詢 - Amazon Athena

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

使用 Amazon Athena 聯合查詢

如果您有資料位於 Simple Storage Service (Amazon S3) 以外的來源中,您可以使用 Athena 聯合查詢就地查詢資料,或建置管道以從多個資料來源擷取資料並將它們存放在 Simple Storage Service (Amazon S3) 中。Athena 聯合查詢可讓您針對存放在關聯式、非關聯式、物件和自訂資料來源中的資料執行 SQL 查詢。

Athena 使用在 AWS Lambda 上執行的資料來源連接器來執行聯合查詢。資料來源連接器是可在目標資料來源和 Athena 之間進行轉譯的一段程式碼。您可以將連接器視為 Athena 查詢引擎的延伸。預先建置的 Athena 資料來源連接器適用於諸多資料來源,諸如 Amazon CloudWatch Logs、Amazon DynamoDB、Amazon DocumentDB、Amazon RDS 和符合 JDBC 規範的關聯式資料來源 (例如 MySQL 和 Apache 2.0 授權下的 PostgreSQL)。您也可以使用 Athena Query Federation 軟體開發套件來撰寫自訂連接器。若要選擇、設定並將資料來源連接器部署到您的帳戶,您可以使用 Athena 和 Lambda 主控台或 AWS Serverless Application Repository。部署資料來源連接器之後,連接器會與一個目錄產生關聯,而您可以在 SQL 查詢中指定此目錄。您可以結合來自多個目錄的 SQL 陳述式,並在單一查詢中跨越多個資料來源。

對資料來源提交查詢時,Athena 會叫用對應的連接器,以識別需要讀取的資料表部分,並會管理平行處理和下推篩選條件述詞。根據提交查詢的使用者,連接器可能允許或禁止存取特定的資料元素。連接器使用 Apache Arrow 作為格式,以傳回查詢中要求的資料,因此能夠以 C、C ++、Java、Python 和 Rust 等語言實作連接器。連接器是在 Lambda 中進行處理,因此可以從雲端或內部部署中可供 Lambda 存取的任何資料來源存取資料。

若要撰寫您的資料來源連接器,您可以使用 Athena Query Federation 軟體開發套件,自訂 Amazon Athena 提供和維護的其中一個預先建置的連接器。您可以修改 GitHub 儲存庫中的原始程式碼副本,然後使用連接器發佈工具建立您自己的 AWS Serverless Application Repository 套件。

注意

第三方開發人員可能已經使用 Athena Query Federation 軟體開發套件來撰寫資料來源連接器。如對這些資料來源連接器的支援或授權有疑問,請洽詢您的連接器供應商。這些連接器未經測試或不受 AWS 支援。

如需 Athena 撰寫和測試的資料來源連接器之清單,請參閱可用資料來源連接器

如需自行撰寫資料來源連接器的相關資訊,請參閱 GitHub 上的範例 Athena 連接器

考量與限制

  • 引擎版本 – 只有 Athena 引擎版本 2 及更新版本才支援 Athena 聯合查詢。如需有關 Athena 引擎版本的資訊,請參閱Athena 引擎版本控制

  • 檢視 – 您可以在聯合資料來源上建立和查詢檢視。聯合檢視儲存在 AWS Glue,而非基礎資料來源中。如需更多詳細資訊,請參閱 查詢聯合檢視

  • 寫入操作 – 不支援INSERT INTO等寫入操作。嘗試執行這項操作可能會產生錯誤訊息:外部目錄目前不支援此操作

  • 定價 – 如需定價資訊,請參閱 Amazon Athena 定價

    JDBC 驅動程式 – 若要將 JDBC 驅動程式與聯合查詢或外部 Hive 中繼存放區搭配使用,請在您的 JDBC 連線字串中包含 MetadataRetrievalMethod=ProxyAPI。如需有關 JDBC 驅動程式的資訊,請參閱使用 JDBC 連接到 Amazon Athena

  • Secrets Manager – 若要搭配 AWS Secrets Manager 使用 Athena 聯合查詢功能,您必須為 Secrets Manager 設定 Amazon VPC 私有端點。如需詳細資訊,請參閱《AWS Secrets Manager 使用者指南》中的建立 Secrets Manager VPC 私有端點

資料來源連接器可能需要存取下列資源,才能正常運作。如果您使用預先建置的連接器,請檢查連接器的資訊,以確保您已正確設定 VPC。此外,請確定執行查詢和建立連接器的 IAM 委託人具有必要動作的權限。如需詳細資訊,請參閱允許 Athena 聯合查詢的 IAM 許可政策範例

  • Simple Storage Service (Amazon S3) – 除了將查詢結果寫入 Simple Storage Service (Amazon S3) 中的 Athena 查詢結果位置外,資料連接器也會寫入 Simple Storage Service (Amazon S3) 中的溢出儲存貯體。對此 Simple Storage Service (Amazon S3) 位置,需有連線能力和許可。

  • Athena – 資料來源需要連線到 Athena (反之亦然),以檢查查詢狀態和防止溢出掃描。

  • AWS Glue Data Catalog – 如果您的連接器將資料目錄用於補充或主要中繼資料,則需要連線和許可。

影片

請觀看下列影片,進一步了解如何使用 Athena 聯合查詢。

影片:分析 Amazon Athena 在 Amazon QuickSight 中的聯合查詢結果

下列影片示範如何分析 Athena 在 Amazon QuickSight 中的聯合查詢結果。

影片:遊戲分析管道

下列影片說明如何使用 Amazon Athena 聯合查詢來部署可擴展的無伺服器資料管道,以擷取、存放並分析遊戲和服務中的遙測資料。