

# Opciones avanzadas
<a name="odbc-v2-driver-advanced-options"></a>

## Tamaño de recuperación
<a name="odbc-v2-driver-advanced-options-fetch-size"></a>

El número máximo de resultados (filas) que se devuelven en esta solicitud. Para obtener información sobre el parámetro, consulte [GetQuery MaxResults](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryResults.html#athena-GetQueryResults-request-MaxResults). Para la API de transmisión, el valor máximo es 10 000 000.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| RowsToFetchPerBlock | Opcional |  `1000` en caso de no transmisión `20000` en caso de transmisión  | RowsToFetchPerBlock=20000; | 

## Buscador de resultados
<a name="odbc-v2-driver-advanced-options-result-fetcher"></a>

El buscador de resultados predeterminado descarga los resultados de las consultas directamente desde Amazon S3 sin pasar por las operaciones de la API de Athena. Cuando detecta situaciones en las que no es posible la descarga directa de S3, automáticamente recurre a utilizar la operación de la API de `GetQueryResultsStream`. Por ejemplo, esto ocurre cuando los resultados de las consultas se cifran con la opción `CSE_KMS`. 

Se recomienda usar el buscador `auto` en la mayoría de las situaciones. Sin embargo, si sus políticas de IAM o sus políticas de bucket de S3 utilizan la condición `s3:CalledVia` para limitar el acceso a las solicitudes de objetos de S3 desde Athena, el buscador automático primero intenta descargar los resultados de S3 y, a continuación, recurre a utilizar el `GetQueryResultsStream`. En esta situación, se podría configurar el `ResultFetcher` en `GetQueryResultsStream` para evitar una llamada a la API adicional.

**nota**  
El controlador sigue reconociendo los parámetros Habilitar la API de transmisión (`UseResultsetStreaming=1;`) y Habilitar recuperación de S3 (`EnableS3Fetcher=1;`). Sin embargo, recomendamos que se utilice el parámetro `ResultFetcher` para una mejor experiencia.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Valores posibles** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | --- | 
|  ResultFetcher  | Opcional | auto | auto, S3, GetQueryResults, GetQueryResultsStream | ResultFetcher=auto | 

## Habilitar la reutilización de resultados
<a name="odbc-v2-driver-advanced-options-enable-result-reuse"></a>

Especifica si los resultados de la consulta anterior se pueden reutilizar al ejecutar la consulta. Para obtener información sobre el parámetro, consulte ResultReuseByAgeConfiguration.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| EnableResultReuse | Opcional | 0 | EnableResultReuse=1; | 

## Antigüedad máxima de reutilización de resultados
<a name="odbc-v2-driver-advanced-options-result-reuse-max-age"></a>

Especifica, en minutos, la antigüedad máxima de un resultado de consulta anterior que Athena debe tener en cuenta para su reutilización. Para obtener información sobre el parámetro, consulte [ResultReuseByAgeConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_ResultReuseByAgeConfiguration.html).


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| ReusedResultMaxAgeInMinutes | Opcional | 60 | ReusedResultMaxAgeInMinutes=90; | 

## Utilizar varios hilos de S3
<a name="odbc-v2-driver-advanced-options-use-multiple-s3-threads"></a>

Recupera datos de Amazon S3 mediante varios hilos. Cuando esta opción está habilitada, el archivo de resultados almacenado en el bucket de Amazon S3 se recupera en paralelo mediante varios hilos.

Habilite esta opción solo si tiene un buen ancho de banda de la red. Por ejemplo, en nuestras mediciones en una instancia [c5.2xlarge](https://aws.amazon.com/ec2/instance-types/c5/) de EC2, un cliente S3 de un solo hilo alcanzó 1 Gbps, mientras que los clientes S3 de hilos múltiples alcanzaron un rendimiento de red de 4 Gbps.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
|  UseMultipleS3Threads  | Opcional | 0 | UseMultipleS3Threads=1; | 

## Utilizar un único catálogo y esquema
<a name="odbc-v2-driver-advanced-options-use-single-catalog-and-schema"></a>

De forma predeterminada, el controlador ODBC consulta a Athena para obtener la lista de catálogos y esquemas disponibles. Esta opción obliga al controlador a utilizar el catálogo y el esquema especificados en el cuadro de diálogo de configuración del administrador de orígenes de datos ODBC o en los parámetros de conexión. 


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| UseSingleCatalogAndSchema | Opcional | 0 | UseSingleCatalogAndSchema=1; | 

## Utilice una consulta para enumerar tablas
<a name="odbc-v2-driver-advanced-options-use-query-to-list-tables"></a>

Para los tipos de catálogo `LAMBDA`, permite que el controlador ODBC envíe una consulta [SHOW TABLES](show-tables.md) para obtener una lista de las tablas disponibles. Esta configuración es la predeterminada. Si este parámetro se establece en 0, el controlador ODBC utiliza la API [ListTableMetadata](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTableMetadata.html) de Athena para obtener una lista de las tablas disponibles. Tenga en cuenta que, en el caso de los tipos de catálogos `LAMBDA`, el uso de `ListTableMetadata` conduce a una regresión del rendimiento. 


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| UseQueryToListTables | Opcional | 1 | UseQueryToListTables=1; | 

## Utilice WCHAR para los tipos de cadenas
<a name="odbc-v2-driver-advanced-options-use-wchar-for-string-types"></a>

De forma predeterminada, el controlador ODBC utiliza `SQL_CHAR` y `SQL_VARCHAR` para Athena, los tipos de datos de cadena `char`, `varchar`, `string`, `array`, `map<>`, `struct<>` y `row`. Si se establece este parámetro a `1`, se fuerza al controlador a utilizar `SQL_WCHAR` y `SQL_WVARCHAR` para los tipos de datos de cadena. Los tipos de caracteres y variables anchos se utilizan para garantizar que los caracteres de diferentes idiomas se puedan almacenar y recuperar correctamente.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| UseWCharForStringTypes | Opcional | 0 | UseWCharForStringTypes=1; | 

## Consultar catálogos externos
<a name="odbc-v2-driver-query-advanced-options-external-catalogs"></a>

Especifica si el controlador necesita consultar catálogos externos desde Athena. Para obtener más información, consulte [Migración al controlador ODBC 2.x](odbc-v2-driver-migrating.md).


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| QueryExternalCatalogs | Opcional | 0 | QueryExternalCatalogs=1; | 

## Verificar SSL
<a name="odbc-v2-driver-advanced-options-verify-ssl"></a>

Controla si se deben verificar los certificados SSL cuando se usa el SDK de AWS. Este valor se transfiere al parámetro `ClientConfiguration.verifySSL`. Para obtener más información, consulte [Configuración de cliente de AWS](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/client-config.html) en la *Guía para desarrolladores de AWS SDK para C\$1\$1*.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| VerifySSL | Opcional | 1 | VerifySSL=0; | 

## Tamaño del bloque de resultados de S3
<a name="odbc-v2-driver-advanced-options-s3-result-block-size"></a>

Especifica, en bytes, el tamaño del bloque que se va a descargar para una sola solicitud de API [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) de Amazon S3. El valor predeterminado es 67108864 (64 MB). Los valores mínimo y máximo permitidos son 10485760 (10 MB) y 2146435072 (aproximadamente 2 GB). 


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| S3ResultBlockSize | Opcional | 67108864 | S3ResultBlockSize=268435456; | 

## Longitud de columna de cadena
<a name="odbc-v2-driver-advanced-options-string-column-length"></a>

Especifica la longitud de las columnas con el tipo de datos `string`. Como Athena usa el [tipo de datos de cadena Apache Hive](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-StringsstringStrings), que no tiene una precisión definida, la longitud predeterminada que informa Athena es 2147483647 (`INT_MAX`). Como las herramientas de inteligencia empresarial suelen preasignar memoria a las columnas, esto puede provocar un consumo elevado de memoria. Para evitarlo, el controlador ODBC de Athena limita la precisión notificada para las columnas del tipo de datos `string` y expone el parámetro de conexión `StringColumnLength` para que se pueda cambiar el valor predeterminado.


****  

| Nombre de la cadena de conexión | Tipo de parámetro | Predeterminado | Ejemplo de la cadena de conexión | 
| --- | --- | --- | --- | 
| StringColumnLength | Opcional | 255 | StringColumnLength=65535; | 

## Longitud de columna de tipo complejo
<a name="odbc-v2-driver-advanced-options-complex-type-column-length"></a>

Especifica la longitud de las columnas con tipos de datos complejos, como `map`, `struct`, y `array`. Al igual que [StringColumnLength](#odbc-v2-driver-advanced-options-string-column-length), Athena informa de una precisión de 0 para las columnas con tipos de datos complejos. El controlador ODBC de Athena establece la precisión predeterminada para las columnas con tipos de datos complejos y expone el parámetro de conexión `ComplexTypeColumnLength` para que se pueda cambiar el valor predeterminado.


****  

| Nombre de la cadena de conexión | Tipo de parámetro | Predeterminado | Ejemplo de la cadena de conexión | 
| --- | --- | --- | --- | 
| ComplexTypeColumnLength | Opcional | 65535 | ComplexTypeColumnLength=123456; | 

## Certificado de CA de confianza
<a name="odbc-v2-driver-advanced-options-trusted-ca-certificate"></a>

Indica al cliente HTTP dónde encontrar el almacén de confianza de certificados SSL. Este valor se transfiere al parámetro `ClientConfiguration.caFile`. Para obtener más información, consulte [Configuración de cliente de AWS](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/client-config.html) en la *Guía para desarrolladores de AWS SDK para C\$1\$1*.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| TrustedCerts | Opcional | %INSTALL\$1PATH%/bin | TrustedCerts=C:\$1\$1Program Files\$1\$1Amazon Athena ODBC Driver\$1\$1bin\$1\$1cacert.pem; | 

## Periodo mínimo de sondeo
<a name="odbc-v2-driver-advanced-options-min-poll-period"></a>

Especifica el valor mínimo en milisegundos que debe esperarse antes de sondear Athena para determinar el estado de ejecución de la consulta.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| MinQueryExecutionPollingInterval | Opcional | 100 | MinQueryExecutionPollingInterval=200; | 

## Periodo máximo de sondeo
<a name="odbc-v2-driver-advanced-options-max-poll-period"></a>

Especifica el valor máximo en milisegundos que se debe esperar antes de sondear Athena para determinar el estado de ejecución de la consulta.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| MaxQueryExecutionPollingInterval | Opcional | 60000 | MaxQueryExecutionPollingInterval=1000; | 

## Multiplicador de sondeo
<a name="odbc-v2-driver-advanced-options-poll-multiplier"></a>

Especifica el factor para aumentar el periodo de sondeo. De forma predeterminada, el sondeo comienza con el valor del periodo mínimo de sondeo y se duplica con cada sondeo hasta alcanzar el valor del periodo máximo de sondeo.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| QueryExecutionPollingIntervalMultiplier | Opcional | 2 | QueryExecutionPollingIntervalMultiplier=2; | 

## Duración máxima del sondeo
<a name="odbc-v2-driver-advanced-options-max-poll-duration"></a>

Especifica el valor máximo en milisegundos del tiempo durante el cual un controlador puede sondear Athena para determinar el estado de ejecución de la consulta.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| MaxPollDuration | Opcional | 1800000 | MaxPollDuration=1800000; | 

## Tiempo de espera de conexión
<a name="odbc-v2-driver-advanced-options-connection-timeout"></a>

La cantidad de tiempo (en milisegundos) que la conexión HTTP espera a que se establezca una conexión. Este valor se establece para el cliente de Athena `ClientConfiguration.connectTimeoutMs`. Si no se especifica, se usa el valor predeterminado de curl. Para obtener más información sobre los parámetros de conexión, consulte [Configuración de clientes](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html) en la *Guía para desarrolladores de AWS SDK para Java*.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| ConnectionTimeout | Opcional | 0 | ConnectionTimeout=2000; | 

## Tiempo de espera de la solicitud
<a name="odbc-v2-driver-advanced-options-request-timeout"></a>

Especifica el tiempo de espera de lectura del socket para los clientes HTTP. Este valor se establece para el parámetro `ClientConfiguration.requestTimeoutMs` del cliente de Athena. Para obtener información sobre el parámetro, consulte [Configuración de clientes](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html) en la *Guía para desarrolladores de AWS SDK para Java*.


****  

| **Nombre de la cadena de conexión** | **Tipo de parámetro** | **Predeterminado** | **Ejemplo de la cadena de conexión** | 
| --- | --- | --- | --- | 
| RequestTimeout | Opcional | 10000 | RequestTimeout=30000; | 