高级选项 - Amazon Athena
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

高级选项

提取大小

要在此请求中返回的最大结果(行)数。有关参数信息,请参阅 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

控制在使用 Amazon SDK 时是否验证 SSL 证书。此值将传递给 ClientConfiguration.verifySSL 参数。有关更多信息,请参阅《Amazon SDK for C++ 开发人员指南》中的 Amazon 客户端配置

连接字符串名称 参数类型 默认值 连接字符串示例
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 参数。有关更多信息,请参阅《Amazon SDK for C++ 开发人员指南》中的 Amazon 客户端配置

连接字符串名称 参数类型 默认值 连接字符串示例
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 的默认值。有关连接参数的信息,请参阅《Amazon SDK for Java 开发人员指南》中的客户端配置

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

请求超时

指定 HTTP 客户端的套接字读取超时。此值是为 Athena 客户端的 ClientConfiguration.requestTimeoutMs 参数设置的。有关更多信息,请参阅《Amazon SDK for Java 开发人员指南》中的客户端配置

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