

# 고급 옵션
<a name="odbc-v2-driver-advanced-options"></a>

## 가져오기 크기
<a name="odbc-v2-driver-advanced-options-fetch-size"></a>

이 요청에서 반환할 최대 결과(행) 수입니다. 파라미터 정보는 [GetQuery MaxResults](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryResults.html#athena-GetQueryResults-request-MaxResults)를 참조하세요. 스트리밍 API의 경우 최댓값은 1,000만 개입니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| RowsToFetchPerBlock | 선택 사항 |  스트리밍 이외의 경우 `1000` 스트리밍의 경우 `20000`  | RowsToFetchPerBlock=20000; | 

## 결과 페처
<a name="odbc-v2-driver-advanced-options-result-fetcher"></a>

기본 결과 페처가 Athena API 작업을 통하지 않고 Amazon S3에서 직접 쿼리 결과를 다운로드합니다. 직접 S3 다운로드가 불가능한 상황을 감지하면 `GetQueryResultsStream` API 작업을 사용하도록 자동으로 폴백합니다. 예를 들어 쿼리 결과가 `CSE_KMS` 옵션으로 암호화될 때 다운로드 불가 상황이 발생합니다.

대부분의 상황에서 `auto` 페처를 사용하는 것이 좋습니다. 그러나 IAM 정책 또는 S3 버킷 정책이 `s3:CalledVia` 조건을 사용하여 Athena의 S3 객체 요청에 대한 액세스를 제한하는 경우, 자동 페처는 먼저 S3에서 결과를 다운로드하려고 시도한 다음 `GetQueryResultsStream`을 사용하기 위해 폴백합니다. 이 경우 추가 API 직접 호출을 방지하기 위해 `ResultFetcher`를 `GetQueryResultsStream`으로 설정할 수 있습니다.

**참고**  
드라이버는 스트리밍 API 활성화(`UseResultsetStreaming=1;`) 및 S3 페처 활성화(`EnableS3Fetcher=1;`) 파라미터를 계속 인식합니다. 그러나 `ResultFetcher` 파라미터를 사용하는 쪽이 더 나은 경험을 제공합니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **가능한 값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | --- | 
|  ResultFetcher  | 선택 사항 | auto | auto, S3, GetQueryResults, GetQueryResultsStream | ResultFetcher=auto | 

## 결과 재사용 활성화
<a name="odbc-v2-driver-advanced-options-enable-result-reuse"></a>

쿼리를 실행할 때 이전 쿼리 결과를 재사용할 수 있는지 여부를 지정합니다. 파라미터 정보는 ResultReuseByAgeConfiguration을 참조하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| EnableResultReuse | 선택 사항 | 0 | EnableResultReuse=1; | 

## 결과 재사용 최대 수명
<a name="odbc-v2-driver-advanced-options-result-reuse-max-age"></a>

Athena에서 재사용을 고려해야 하는 이전 쿼리 결과의 최대 수명(분)을 지정합니다. 파라미터 정보는 [ResultReuseByAgeConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_ResultReuseByAgeConfiguration.html)을 참조하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| ReusedResultMaxAgeInMinutes | 선택 사항 | 60 | ReusedResultMaxAgeInMinutes=90; | 

## 여러 개의 S3 스레드 사용
<a name="odbc-v2-driver-advanced-options-use-multiple-s3-threads"></a>

여러 개의 스레드를 사용하여 Amazon S3에서 데이터를 가져옵니다. 이 옵션을 활성화하면 Amazon S3 버킷에 저장된 결과 파일을 여러 개의 스레드를 사용하여 병렬로 가져옵니다.

네트워크 대역폭이 양호한 경우에만 이 옵션을 활성화합니다. 예를 들어 EC2 [c5.2xlarge](https://aws.amazon.com/ec2/instance-types/c5/) 인스턴스에서 측정한 결과, 단일 스레드 S3 클라이언트는 1Gbps에 도달한 반면, 다중 스레드 S3 클라이언트에서 도달한 네트워크 처리량은 4Gbps로 나타났습니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
|  UseMultipleS3Threads  | 선택 사항 | 0 | UseMultipleS3Threads=1; | 

## 단일 카탈로그 및 스키마 사용
<a name="odbc-v2-driver-advanced-options-use-single-catalog-and-schema"></a>

기본적으로 ODBC 드라이버는 Athena에서 쿼리를 수행하여 사용 가능한 카탈로그 및 스키마 목록을 가져옵니다. 이 옵션은 드라이버가 ODBC 데이터 원본 관리자 구성 대화 상자 또는 연결 파라미터에서 지정한 카탈로그 및 스키마를 사용하도록 강제 적용됩니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| UseSingleCatalogAndSchema | 선택 사항 | 0 | UseSingleCatalogAndSchema=1; | 

## 쿼리를 사용하여 테이블 나열
<a name="odbc-v2-driver-advanced-options-use-query-to-list-tables"></a>

`LAMBDA` 카탈로그 유형의 경우 ODBC 드라이버가 [SHOW TABLES](show-tables.md) 쿼리를 제출하여 사용 가능한 테이블 목록을 가져올 수 있습니다. 이 설정이 기본값입니다. 이 파라미터가 0으로 설정되면 ODBC 드라이버가 Athena [ListTableMetadata](https://docs.aws.amazon.com/athena/latest/APIReference/API_ListTableMetadata.html) API를 사용하여 사용 가능한 테이블 목록을 가져옵니다. `LAMBDA` 카탈로그 유형의 경우 `ListTableMetadata` 사용 시 성능이 저하됩니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| UseQueryToListTables | 선택 사항 | 1 | UseQueryToListTables=1; | 

## 문자열 유형에 WCHAR 사용
<a name="odbc-v2-driver-advanced-options-use-wchar-for-string-types"></a>

기본적으로 ODBC 드라이버는 Athena 문자열 데이터 유형 `char`, `varchar`, `string`, `array`, `map<>`, `struct<>`, `row`에 `SQL_CHAR` 및 `SQL_VARCHAR`를 사용합니다. 이 파라미터를 `1`로 설정하면 드라이버에서 문자열 데이터 유형에 `SQL_WCHAR` 및 `SQL_WVARCHAR`를 강제로 사용합니다. 다양한 언어의 문자가 올바르게 저장 및 검색될 수 있도록 폭넓은 문자 및 폭넓은 가변 문자 유형을 사용하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| UseWCharForStringTypes | 선택 사항 | 0 | UseWCharForStringTypes=1; | 

## 외부 카탈로그 쿼리
<a name="odbc-v2-driver-query-advanced-options-external-catalogs"></a>

드라이버가 Athena에서 외부 카탈로그를 쿼리해야 하는지 여부를 지정합니다. 자세한 내용은 [ODBC 2.x 드라이버로 마이그레이션](odbc-v2-driver-migrating.md) 섹션을 참조하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| QueryExternalCatalogs | 선택 사항 | 0 | QueryExternalCatalogs=1; | 

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

AWS SDK를 사용할 때 SSL 인증서를 확인할지 여부를 제어합니다. 이 값은 `ClientConfiguration.verifySSL` 파라미터에 전달됩니다. 자세한 내용은 *AWS SDK for C\$1\$1 개발자 안내서*의 [AWS Client configuration](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/client-config.html)을 참조하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| VerifySSL | 선택 사항 | 1 | VerifySSL=0; | 

## S3 결과 블록 크기
<a name="odbc-v2-driver-advanced-options-s3-result-block-size"></a>

단일 Amazon S3 [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) API 요청에 대해 다운로드할 블록의 크기(바이트)를 지정합니다. 기본값은 6,710만 8,864(64MB)입니다. 허용되는 최솟값 및 최댓값은 1,048만 5,760(10MB) 및 21억 4,643만 5,072(약 2GB)입니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| S3ResultBlockSize | 선택 사항 | 67108864 | S3ResultBlockSize=268435456; | 

## 문자열 열 길이
<a name="odbc-v2-driver-advanced-options-string-column-length"></a>

`string` 데이터 유형이 있는 열의 열 길이를 지정합니다. Athena는 정밀도가 정의되지 않은 [Apache Hive 문자열 데이터 유형](https://cwiki.apache.org/confluence/display/Hive/LanguageManual+Types#LanguageManualTypes-StringsstringStrings)을 사용하기 때문에 Athena가 보고하는 기본 길이는 2147483647(`INT_MAX`)입니다. BI 도구는 대체로 열에 메모리를 미리 할당하기 때문에 메모리 사용량이 많아질 수 있습니다. 이를 방지하기 위해 Athena ODBC 드라이버는 `string` 데이터 유형의 열에 대해 보고되는 정밀도를 제한하고 기본값이 변경될 수 있도록 `StringColumnLength` 연결 파라미터를 노출합니다.


****  

| 연결 문자열 이름 | 파라미터 유형 | 기본값  | 연결 문자열 예제 | 
| --- | --- | --- | --- | 
| StringColumnLength | 선택 사항 | 255 | StringColumnLength=65535; | 

## 복합 유형 열 길이
<a name="odbc-v2-driver-advanced-options-complex-type-column-length"></a>

`map`, `struct`, `array` 등의 복합 데이터 유형이 있는 열의 열 길이를 지정합니다. [StringColumnLength](#odbc-v2-driver-advanced-options-string-column-length)와 마찬가지로 Athena는 복합 데이터 유형이 있는 열에 대해 정밀도 0을 보고합니다. Athena ODBC 드라이버는 복합 데이터 유형의 열에 대해 기본 정밀도를 설정하고 기본값이 변경될 수 있도록 `ComplexTypeColumnLength` 연결 파라미터를 노출합니다.


****  

| 연결 문자열 이름 | 파라미터 유형 | 기본값  | 연결 문자열 예제 | 
| --- | --- | --- | --- | 
| ComplexTypeColumnLength | 선택 사항 | 65535 | ComplexTypeColumnLength=123456; | 

## 신뢰할 수 있는 CA 인증서
<a name="odbc-v2-driver-advanced-options-trusted-ca-certificate"></a>

HTTP 클라이언트에 SSL 인증서 신뢰 저장소를 찾을 위치를 지시합니다. 이 값은 `ClientConfiguration.caFile` 파라미터에 전달됩니다. 자세한 내용은 *AWS SDK for C\$1\$1 개발자 안내서*의 [AWS Client configuration](https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/client-config.html)을 참조하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| TrustedCerts | 선택 사항 | %INSTALL\$1PATH%/bin | TrustedCerts=C:\$1\$1Program Files\$1\$1Amazon Athena ODBC Driver\$1\$1bin\$1\$1cacert.pem; | 

## 최소 폴링 기간
<a name="odbc-v2-driver-advanced-options-min-poll-period"></a>

쿼리 실행 상태에 대해 Athena를 폴링하기 전에 대기할 최솟값(밀리초)을 지정합니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| MinQueryExecutionPollingInterval | 선택 사항 | 100 | MinQueryExecutionPollingInterval=200; | 

## 최대 폴링 기간
<a name="odbc-v2-driver-advanced-options-max-poll-period"></a>

쿼리 실행 상태에 대해 Athena를 폴링하기 전에 대기할 최댓값(밀리초)을 지정합니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| MaxQueryExecutionPollingInterval | 선택 사항 | 60000 | MaxQueryExecutionPollingInterval=1000; | 

## 폴링 승수
<a name="odbc-v2-driver-advanced-options-poll-multiplier"></a>

폴링 기간을 늘리는 요인을 지정합니다. 기본적으로 폴링은 최소 폴링 기간 값으로 시작되며 최대 폴링 기간 값에 도달할 때까지 폴링마다 두 배로 늘어납니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| QueryExecutionPollingIntervalMultiplier | 선택 사항 | 2 | QueryExecutionPollingIntervalMultiplier=2; | 

## 최대 폴링 기간
<a name="odbc-v2-driver-advanced-options-max-poll-duration"></a>

드라이버에서 쿼리 실행 상태에 대해 Athena를 폴링할 수 있는 최댓값(밀리초)을 지정합니다.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| MaxPollDuration | 선택 사항 | 1800000 | MaxPollDuration=1800000; | 

## 연결 제한 시간
<a name="odbc-v2-driver-advanced-options-connection-timeout"></a>

HTTP 연결 시 연결이 설정될 때까지 기다리는 시간(밀리초)입니다. 이 값은 `ClientConfiguration.connectTimeoutMs` Athena 클라이언트에 대해 설정됩니다. 지정하지 않은 경우 curl 기본값이 사용됩니다. 연결 파라미터에 대한 자세한 내용은 *AWS SDK for Java 개발자 안내서*의 [Client Configuration](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html)을 참조하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| ConnectionTimeout | 선택 사항 | 0 | ConnectionTimeout=2000; | 

## 요청 제한 시간
<a name="odbc-v2-driver-advanced-options-request-timeout"></a>

HTTP 클라이언트의 소켓 읽기 제한 시간을 지정합니다. 이 값은 Athena 클라이언트의 `ClientConfiguration.requestTimeoutMs` 파라미터에 대해 설정됩니다. 파라미터 정보는 *AWS SDK for Java 개발자 안내서*의 [Client Configuration](https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/section-client-configuration.html)을 참조하세요.


****  

| **연결 문자열 이름** | **파라미터 유형** | **기본값** | **연결 문자열 예제** | 
| --- | --- | --- | --- | 
| RequestTimeout | 선택 사항 | 10000 | RequestTimeout=30000; | 