

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

# 直接查詢 OpenSearch Service 中的 Amazon S3 資料
<a name="direct-query-s3-overview"></a>

本節將逐步引導您在 Amazon OpenSearch Service 中建立和設定資料來源整合的程序，讓您有效率地查詢和分析存放在 Amazon S3 中的資料。

在以下頁面中，您將了解如何設定 Amazon S3 直接查詢資料來源、導覽必要的先決條件，以及使用 AWS 管理主控台 和 OpenSearch Service API step-by-step程序。它還涵蓋了重要的後續步驟，包括映射 AWS Glue Data Catalog 角色和在 OpenSearch Dashboards 中設定存取控制。

**Topics**
+ [在 OpenSearch Service 中建立 Amazon S3 資料來源整合](direct-query-s3-creating.md)
+ [在 OpenSearch Dashboards 中設定和查詢 S3 資料來源](direct-query-s3-configure.md)
+ [定價](#direct-query-s3-pricing)
+ [限制](#direct-query-s3-limitations)
+ [建議](#direct-query-s3-recommendations)
+ [配額](#direct-query-s3-quotas)
+ [支援的 AWS 區域](#direct-query-s3-regions)

## 定價
<a name="direct-query-s3-pricing"></a>

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 定價](https://aws.amazon.com/opensearch-service/pricing/)中的直接查詢和無伺服器區段。

## 限制
<a name="direct-query-s3-limitations"></a>

下列限制適用於 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 命令](direct-query-supported-commands.md)。

## 建議
<a name="direct-query-s3-recommendations"></a>

在 Amazon S3 中使用直接查詢時，我們建議下列事項：
+ 使用年、月、日、小時的分割區格式將資料擷取至 Amazon S3，以加速查詢。
+ 當您建置略過索引時，請針對具有高基數的欄位使用 Bloom 篩選條件，並針對具有較大值範圍的欄位使用最低/最高索引。對於高基數欄位，請考慮使用以值為基礎的方法來改善查詢效率。
+ 使用索引狀態管理來維護具體化視觀表和涵蓋索引的儲存體。
+ 使用 `COALESCE SQL`函數來處理遺失的資料欄，並確保傳回結果。
+ 對查詢使用限制，以確保您不會向後提取太多資料。

## 配額
<a name="direct-query-s3-quotas"></a>

每次您啟動對 Amazon S3 資料來源的查詢時，OpenSearch Service 都會開啟*工作階段*並保持其運作狀態至少三分鐘。這可透過移除後續查詢中的工作階段啟動時間來減少查詢延遲。


| Description | 上限 | 可以覆寫 | 
| --- | --- | --- | 
| 每個網域的連線數 | 10 | 是 | 
| 每個網域的資料來源 | 20 | 是 | 
| 每個網域的索引 | 5 | 是 | 
| 每個資料來源的並行工作階段 | 10 | 是 | 
| 每個查詢的最大 OCU | 60 | 是 | 
| 查詢執行時間上限 （分鐘） | 30 | 是 | 
| 每個加速的最大 OCUs  | 20 | 是 | 
| 最大暫時性儲存 | 20 | 是 | 

## 支援的 AWS 區域
<a name="direct-query-s3-regions"></a>

Amazon S3 中的直接查詢 AWS 區域 支援下列項目：
+ 亞太地區 (香港)
+ Asia Pacific (Mumbai)
+ 亞太區域 (首爾) 
+ 亞太區域 (新加坡)
+ 亞太地區 (雪梨)
+ 亞太區域 (東京)
+ 加拿大 (中部)
+ 歐洲 (法蘭克福)
+  歐洲 (愛爾蘭)
+ 歐洲 (斯德哥爾摩)
+ 美國東部 (維吉尼亞北部)
+ 美國東部 (俄亥俄)
+ 美國西部 (奧勒岡)