進階選項 - Amazon Athena

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

進階選項

擷取大小

本次請求傳回結果 (列) 的最大數量。如需參數資訊,請參閱GetQuery MaxResults。對於串流 API,最大值為 10000000。

連線字串名稱 參數類型 預設值 連線字串範例
RowsToFetchPerBlock 選用

非串流為 1000

串流為 20000

RowsToFetchPerBlock=20000;

啟用結果重複使用

指定執行查詢時是否可以重複使用之前的查詢結果。如需參數資訊,請參閱 ResultReuseByAgeConfiguration。

連線字串名稱 參數類型 預設值 連線字串範例
EnableResultReuse 選用 0 EnableResultReuse=1;

結果重複使用最長期限

指定 Athena 應考慮重複使用的之前查詢結果的最長期限 (以分鐘為單位)。如需參數資訊,請參閱ResultReuseByAgeConfiguration

連線字串名稱 參數類型 預設值 連線字串範例
ReusedResultMaxAgeInMinutes 選用 60 ReusedResultMaxAgeInMinutes=90;

啟用串流 API

選擇是否使用 Athena 串流 API 來擷取結果集。

連線字串名稱 參數類型 預設值 連線字串範例
UseResultsetStreaming 選用 0 UseResultsetStreaming=1;

啟用 S3 擷取程式

直接與 Amazon S3 互動,從 Amazon S3 儲存貯體擷取 Athena 產生的結果集。

連線字串名稱 參數類型 預設值 連線字串範例
EnableS3Fetcher 選用 1 EnableS3Fetcher=1;

使用多個 S3 執行緒

使用多個執行緒從 Amazon S3 擷取資料。啟用此選項時,會使用多個執行緒平行擷取存放在 Amazon S3 儲存貯體中的結果檔案。

只有在網路頻寬良好時,才會啟用此選項。例如,在我們對 EC2 c5.2xlarge 執行個體的測量中,單一執行緒 S3 用戶端達到 1 Gbps,而多執行緒 S3 用戶端則達到 4 Gbps 的網路輸送量。

連線字串名稱 參數類型 預設值 連線字串範例

UseMultipleS3 執行緒

選用 0 UseMultipleS3Threads=1;

使用單一目錄和結構描述

依預設,ODBC 驅動程式會查詢 Athena,以取得可用目錄和結構描述的清單。此選項會強制驅動程式使用「ODBC 資料來源管理員組態」對話方塊或連線參數指定的目錄和結構描述。

連線字串名稱 參數類型 預設值 連線字串範例
UseSingleCatalogAndSchema 選用 0 UseSingleCatalogAndSchema=1;

使用查詢列出表

對於LAMBDA目錄類型,可讓 ODBC 驅動程式提交SHOW TABLES查詢以取得可用資料表的清單。此設定是預設值。如果此參數設定為 0,ODBC 驅動程式會使用 Athena ListTableMetadataAPI 取得可用表格的清單。請注意,對於LAMBDA目錄類型,使用ListTableMetadata會導致效能回歸。

連線字串名稱 參數類型 預設值 連線字串範例
UseQueryToListTables 選用 1 UseQueryToListTables=1;

使用 WCHAR 的字符串類型

根據預設,ODBC 驅動程式會SQL_VARCHAR針對 Athena 使用SQL_CHAR和字串資料類型charvarcharstringarraymap<>struct<>、和row。設定此參數以1強制驅動程式使SQL_WVARCHARSQL_WCHAR和字串資料類型。使用寬字元和寬變數字元類型,以確保可以正確儲存和擷取來自不同語言的字元。

連線字串名稱 參數類型 預設值 連線字串範例
使用 W CharForStringTypes 選用 0 UseWCharForStringTypes=1;

查詢外部目錄

指定驅動程式是否需要從 Athena 查詢外部目錄。如需詳細資訊,請參閱 移轉至 ODBC 2.x 驅動程式

連線字串名稱 參數類型 預設值 連線字串範例
QueryExternalCatalogs 選用 0 QueryExternalCatalogs=1;

驗證 SSL

控制是否在使用 AWS SDK 時驗證 SSL 憑證。這個值會傳遞給 ClientConfiguration.verifySSL 參數。如需詳細資訊,請參閱《AWS SDK for C++ 開發人員指南》中的 AWS 用戶端組態

連線字串名稱 參數類型 預設值 連線字串範例
VerifySSL 選用 1 VerifySSL=0;

S3 結果區塊大小

指定單一 Amazon S3 GetObjectAPI 請求下載的區塊大小 (以位元組為單位)。預設值為 67108864 (64 MB)。允許的最小值和最大值為 10485760 (10 MB) 和 2146435072 (約 2 GB)。

連線字串名稱 參數類型 預設值 連線字串範例
S3 ResultBlockSize 選用 67108864 S3ResultBlockSize=268435456;

字符串列長度

指定具有string資料類型之欄的欄長度。由於 Athena 使用沒有定義精確度的 Apache Hive 字串資料類型,所以 Athena 報告的預設長度是 2147483647 ()。INT_MAX因為 BI 工具通常會預先配置資料行的記憶體,因此可能會導致高記憶體消耗量。為了避免這種情況,Athena ODBC 驅動程式會限制string資料類型資料行的報告精確度,並公開StringColumnLength連線參數,以便變更預設值。

連線字串名稱 參數類型 預設值 連線字串範例
StringColumnLength 選用 255 StringColumnLength=65535;

複雜類型欄長

指定具有複雜資料類型 (例如mapstruct和) 的資料行的欄長度array。例如 StringColumnLength,Athena 針對具有複雜資料類型的資料行報告 0 精確度。Athena ODBC 驅動程式會為具有複雜資料類型的資料行設定預設精確度,並公開ComplexTypeColumnLength連線參數,以便變更預設值。

連線字串名稱 參數類型 預設值 連線字串範例
ComplexTypeColumnLength 選用 65535 ComplexTypeColumnLength=123456;

可信 CA 憑證

指示 HTTP 用戶端在何處找到您的 SSL 憑證信任存放區。這個值會傳遞給 ClientConfiguration.caFile 參數。如需詳細資訊,請參閱《AWS SDK for C++ 開發人員指南》中的 AWS 用戶端組態

連線字串名稱 參數類型 預設值 連線字串範例
TrustedCerts 選用 %INSTALL_PATH%/bin TrustedCerts=C:\\Program Files\\Amazon Athena ODBC Driver\\bin\\cacert.pem;

最短輪詢期間

指定輪詢 Athena 查詢執行狀態之前要等待的最小值 (以毫秒為單位)。

連線字串名稱 參數類型 預設值 連線字串範例
MinQueryExecutionPollingInterval 選用 100 MinQueryExecutionPollingInterval=200;

最長輪詢期間

指定輪詢 Athena 查詢執行狀態之前要等待的最大值 (以毫秒為單位)。

連線字串名稱 參數類型 預設值 連線字串範例
MaxQueryExecutionPollingInterval 選用 60000 MaxQueryExecutionPollingInterval=1000;

輪詢乘數

指定增加輪詢期間的因數。依預設,輪詢會以最短輪詢期間的值開始,並且每次輪詢都會加倍,直到達到最長輪詢期間的值為止。

連線字串名稱 參數類型 預設值 連線字串範例
QueryExecutionPollingIntervalMultiplier 選用 2 QueryExecutionPollingIntervalMultiplier=2;

最長輪詢持續時間

指定驅動程式可輪詢 Athena 查詢執行狀態的最大值 (以毫秒為單位)。

連線字串名稱 參數類型 預設值 連線字串範例
MaxPollDuration 選用 1800000 MaxPollDuration=1800000;

連線逾時

HTTP 連線等待建立連線的時間量 (以毫秒為單位)。此值是針對 ClientConfiguration.connectTimeoutMs Athena 用戶端設定的。若未指定,則使用 curl 預設值。如需有關連線參數的資訊,請參閱《AWS SDK for Java 開發人員指南》中的用戶端組態

連線字串名稱 參數類型 預設值 連線字串範例
ConnectionTimeout 選用 0 ConnectionTimeout=2000;

請求逾時

指定 HTTP 用戶端的通訊端讀取逾時。此值是為 Athena 用戶端的 ClientConfiguration.requestTimeoutMs 參數設定的。如需參數資訊,請參閱《AWS SDK for Java 開發人員指南》中的用戶端組態

連線字串名稱 參數類型 預設值 連線字串範例
RequestTimeout 選用 10000 RequestTimeout=30000;