本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
直接查詢 OpenSearch Service 中的 Amazon S3 資料
本節將逐步引導您在 Amazon OpenSearch Service 中建立和設定資料來源整合的程序,讓您有效率地查詢和分析存放在 Amazon S3 中的資料。
在以下頁面中,您將了解如何設定 Amazon S3 直接查詢資料來源、導覽必要的先決條件,以及使用 AWS 管理主控台 和 OpenSearch Service API step-by-step程序。它還涵蓋了重要的後續步驟,包括映射 AWS Glue Data Catalog 角色和在 OpenSearch Dashboards 中設定存取控制。
定價
Amazon OpenSearch Service 為 Amazon S3 直接查詢提供 OpenSearch Compute Unit (OCU) 定價。當您執行直接查詢時,會產生每小時 OCUs的費用,在您的帳單上列為 DirectQuery OCU 用量類型。您也會產生與 Amazon S3 不同的資料儲存費用。
直接查詢有兩種類型:互動式和索引化檢視查詢。
-
互動式查詢用於填入資料選擇器,並對 Amazon S3 中的資料進行分析。當您從 Discover 執行新查詢時,OpenSearch Service 會啟動持續至少三分鐘的新工作階段。OpenSearch Service 會保持此工作階段處於作用中狀態,以確保後續查詢快速執行。
-
索引檢視查詢使用運算來維護 OpenSearch Service 中的索引檢視。這些查詢通常需要更長的時間,因為它們會將不同數量的資料擷取至具名索引。對於 Amazon S3 資料來源,索引資料會根據購買的執行個體類型儲存在網域中。
如需詳細資訊,請參閱 Amazon OpenSearch Service 定價
限制
下列限制適用於 Amazon S3 中的直接查詢:
-
S3 的直接查詢僅適用於執行 OpenSearch 2.13 版或更新版本的 OpenSearch Service 網域,且需要存取 AWS Glue Data Catalog。必須使用 OpenSearch Query Workbench 中的 SQL 重新建立現有 AWS Glue Data Catalog 資料表。
-
直接查詢 S3 需要您在 Amazon S3 上指定檢查點儲存貯體。此儲存貯體會維護索引檢視的狀態,包括上次重新整理時間和最近擷取的資料。
-
您的 OpenSearch 網域和 AWS Glue Data Catalog 必須位於相同的 中 AWS 帳戶。您的 S3 儲存貯體可以位於不同的帳戶中 (需要將條件新增至您的 IAM 政策),但必須與 AWS 區域 網域位於相同的 中。
-
使用 S3 的 OpenSearch Service 直接查詢僅支援從 Query Workbench 產生的 Spark 資料表。Spark 串流不支援在 AWS Glue Data Catalog 或 Athena 中產生的資料表,這是維護索引檢視所需的項目。
-
OpenSearch 執行個體類型的網路承載限制為 10 MiB 或 100 MiB,視您選擇的特定執行個體類型而定。
-
不支援某些資料類型。支援的資料類型僅限於 Parquet、CSV 和 JSON。
-
如果資料結構隨時間變更,您將需要更新索引檢視或out-of-the-box整合,以考慮資料結構變更。
-
AWS CloudFormation 尚不支援 範本。
-
相較於使用直接查詢,使用 OpenSearch 索引時,OpenSearch SQL 和 OpenSearch PPL 陳述式有不同的限制。 OpenSearch 直接查詢支援 JOINs、子查詢和查詢等進階命令,而對 OpenSearch 索引上這些命令的支援有限或不存在。如需詳細資訊,請參閱支援的 SQL 和 PPL 命令。
建議
在 Amazon S3 中使用直接查詢時,我們建議下列事項:
-
使用年、月、日、小時的分割區格式將資料擷取至 Amazon S3,以加速查詢。
-
當您建置略過索引時,請針對具有高基數的欄位使用 Bloom 篩選條件,並針對具有較大值範圍的欄位使用最低/最高索引。對於高基數欄位,請考慮使用以值為基礎的方法來改善查詢效率。
-
使用索引狀態管理來維護具體化視觀表和涵蓋索引的儲存體。
-
使用
COALESCE SQL函數來處理遺失的資料欄,並確保傳回結果。 -
對查詢使用限制,以確保您不會向後提取太多資料。
配額
每次您啟動對 Amazon S3 資料來源的查詢時,OpenSearch Service 都會開啟工作階段並保持其運作狀態至少三分鐘。這可透過移除後續查詢中的工作階段啟動時間來減少查詢延遲。
| Description | 上限 | 可以覆寫 |
|---|---|---|
| 每個網域的連線數 | 10 | 是 |
| 每個網域的資料來源 | 20 | 是 |
| 每個網域的索引 | 5 | 是 |
| 每個資料來源的並行工作階段 | 10 | 是 |
| 每個查詢的最大 OCU | 60 | 是 |
| 查詢執行時間上限 (分鐘) | 30 | 是 |
| 每個加速的最大 OCUs | 20 | 是 |
| 最大暫時性儲存 | 20 | 是 |
支援的 AWS 區域
Amazon S3 中的直接查詢 AWS 區域 支援下列項目:
-
亞太地區 (香港)
-
Asia Pacific (Mumbai)
-
亞太區域 (首爾)
-
亞太區域 (新加坡)
-
亞太地區 (雪梨)
-
亞太區域 (東京)
-
加拿大 (中部)
-
歐洲 (法蘭克福)
-
歐洲 (愛爾蘭)
-
歐洲 (斯德哥爾摩)
-
美國東部 (維吉尼亞北部)
-
美國東部 (俄亥俄)
-
美國西部 (奧勒岡)