高级选项 - 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 客户端的网络吞吐量达到了 1Gbps,而多线程 S3 客户端达到了 4Gbps。

连接字符串名称 参数类型 默认值 连接字符串示例

UseMultipleS3Threads

可选 0 UseMultipleS3Threads=1;

使用单一目录和架构

默认情况下,ODBC 驱动程序会查询 Athena 以获取可用目录和架构列表。此选项将强制驱动程序使用 ODBC 数据来源管理器配置对话框或连接参数指定的目录和架构。

连接字符串名称 参数类型 默认值 连接字符串示例
UseSingleCatalogAndSchema 可选 0 UseSingleCatalogAndSchema=1;

使用查询来列出表

对于 LAMBDA 目录类型,允许 ODBC 驱动程序提交SHOW TABLES查询来获取可用表的列表。此设置是默认设置。如果此参数设置为 0,则 ODBC 驱动程序将使用 Athena ListTableMetadata API 来获取可用表的列表。请注意,对于 LAMBDA 目录类型,使用 ListTableMetadata 会导致性能下降。

连接字符串名称 参数类型 默认值 连接字符串示例
UseQueryToListTables 可选 1 UseQueryToListTables=1;

使用 WCHAR 作为字符串类型

默认情况下,ODBC 驱动程序在 Athena 中使用 SQL_CHARSQL_VARCHAR 字符串数据类型 charvarcharstringarraymap<>struct<>row。将此参数设置为 1,会强制驱动程序将 SQL_WCHARSQL_WVARCHAR 作为字符串数据类型。使用宽字符和宽可变字符类型,可确保正确存储和检索不同语言的字符。

连接字符串名称 参数类型 默认值 连接字符串示例
UseWCharForStringTypes 可选 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 GetObject API 请求下载的数据块大小。默认值为 67108864(64MB)。允许的最小值和最大值分别为 10485760(10MB)和 2146435072(约 2GB)。

连接字符串名称 参数类型 默认值 连接字符串示例
S3ResultBlockSize 可选 67108864 S3ResultBlockSize=268435456;

字符串列长度

为具有 string 数据类型的列指定列长度。由于 Athena 使用 Apache Hive 字符串数据类型,但该数据类型并未定义精度,所以 Athena 报告的默认长度为 2147483647 (INT_MAX)。商业智能工具通常会为列预先分配内存,这可能会导致内存消耗较高。为避免这种情况,Athena ODBC 驱动程序会限制 string 数据类型列的报告精度,也会公开 StringColumnLength 连接参数,以便可以更改默认值。

连接字符串名称 参数类型 默认值 连接字符串示例
StringColumnLength 可选 255 StringColumnLength=65535;

复杂类型列长度

为具有复杂数据类型(如 mapstructarray)的列指定列长度。与 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;