View a markdown version of this page

Opzioni avanzate - Amazon Athena

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Opzioni avanzate

Dimensioni di recupero

Numero massimo di risultati (righe) da restituire in questa richiesta. Per informazioni sui parametri, vedere GetQuery MaxResults. Per l'API di streaming, il valore massimo è pari a 10000000.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
RowsToFetchPerBlock Facoltativo

1000 per il non streaming

20000 per lo streaming

RowsToFetchPerBlock=20000;

Sistema di recupero (fetcher) dei risultati

Il fetcher dei risultati predefinito scarica i risultati delle query direttamente da Amazon S3 senza utilizzare le operazioni API Athena. Quando rileva situazioni in cui il download diretto di S3 non è possibile, torna automaticamente a utilizzare l’operazione API GetQueryResultsStream. Ad esempio, ciò accade quando i risultati delle query vengono crittografati con l’opzione CSE_KMS.

L’uso del fetcher auto è consigliato nella maggior parte delle situazioni. Tuttavia, se le policy IAM o le policy di bucket S3 utilizzano la condizione s3:CalledVia per limitare l’accesso agli oggetti S3 alle richieste di Athena, l’auto fetcher tenta prima di scaricare i risultati da S3 e poi torna a utilizzare GetQueryResultsStream. In questa situazione, si potrebbe voler impostare il ResultFetcher su GetQueryResultsStream per evitare una chiamata API aggiuntiva.

Nota

Il driver riconosce ancora i parametri Enable streaming API (UseResultsetStreaming=1;) e Enable S3 fetcher (EnableS3Fetcher=1;). Tuttavia, consigliamo di utilizzare il parametro ResultFetcher per una migliore esperienza.

Nome stringa connessione Tipo parametro Valore predefinito Valori possibili Esempio stringa connessione

ResultFetcher

Facoltativo auto auto, S3, GetQueryResults, GetQueryResultsStream ResultFetcher=auto

Come abilitare il riutilizzo dei risultati

Specifica se i risultati della query precedente possono essere riutilizzati quando la query viene eseguita. Per informazioni sui parametri, vedere ResultReuseByAgeConfiguration.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
EnableResultReuse Facoltativo 0 EnableResultReuse=1;

Età massima per il riutilizzo di risultati

Specifica, in minuti, l'età massima dei risultati di una query precedente che Athena debba considerare per il riutilizzo. Per informazioni sui parametri, vedere ResultReuseByAgeConfiguration.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
ReusedResultMaxAgeInMinutes Facoltativo 60 ReusedResultMaxAgeInMinutes=90;

Utilizzo di più thread S3

Recupera i dati da Amazon S3 utilizzando più thread. Quando questa opzione è abilitata, il file di risultati archiviato nel bucket Amazon S3 viene recuperato in parallelo utilizzando più thread.

Abilita questa opzione solo se disponi di una buona larghezza di banda della rete. Ad esempio, nelle nostre misurazioni su un'istanza EC2 c5.2xlarge, un client S3 a thread singolo ha raggiunto 1 Gbps, mentre i client S3 a thread multiplo hanno raggiunto 4 Gbps di velocità di trasmissione effettiva di rete.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione

UseMultipleS3Threads

Facoltativo 0 UseMultipleS3Threads=1;

Utilizzo di schema e catalogo singolo

Per impostazione predefinita, il driver ODBC esegue query su Athena per ottenere l'elenco dei cataloghi e degli schemi disponibili. Questa opzione prevede che il driver utilizzi il catalogo e lo schema specificati dalla finestra di dialogo di configurazione di ODBC Data Source Administrator o dai parametri di connessione.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
UseSingleCatalogAndSchema Facoltativo 0 UseSingleCatalogAndSchema=1;

Utilizzare query per elencare tabelle

Per i tipi di catalogo LAMBDA, consente al driver ODBC di inviare una query SHOW TABLES per ottenere un elenco di tabelle disponibili. Questa è l'impostazione di default. Se questo parametro è impostato su 0, il driver ODBC utilizza l'API ListTableMetadataAthena per ottenere un elenco di tabelle disponibili. Si noti che, per i tipi di catalogo LAMBDA, l’utilizzo di ListTableMetadata porta alla regressione delle prestazioni.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
UseQueryToListTables Facoltativo 1 UseQueryToListTables=1;

Utilizzare WCHAR per i tipi di stringhe

Per impostazione predefinita, il driver ODBC utilizza SQL_CHAR e SQL_VARCHAR per Athena i tipi di dati stringa char, varchar, string, array, map<>, struct<>, e row. L’impostazione di questo parametro su 1 forza l’utilizzo da parte del driver di SQL_WCHAR e SQL_WVARCHAR per i tipi di dati a stringa. I tipi di caratteri wide e wide variable vengono utilizzati per garantire che i caratteri di diverse lingue possano essere archiviati e recuperati correttamente.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
UseWCharForStringTypes Facoltativo 0 UseWCharForStringTypes=1;

Esecuzione di query su cataloghi esterni

Specifica se il driver deve eseguire query sui cataloghi esterni ad Athena. Per ulteriori informazioni, consulta Migrare al driver ODBC 2.x.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
QueryExternalCatalogs Facoltativo 0 QueryExternalCatalogs=1;

Verifica di SSL

Controlla se verificare i certificati SSL quando utilizzi l'SDK. AWS Questo valore viene passato al parametro ClientConfiguration.verifySSL. Per ulteriori informazioni, consulta Configurazione client AWS nella Guida per gli sviluppatori di AWS SDK per C++ .

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
VerifySSL Facoltativo 1 VerifySSL=0;

Dimensione del blocco dei risultati S3

Speciifica, in byte, la dimensione del blocco da scaricare per una singola richiesta API Amazon GetObjectS3. Il valore predefinito è pari a 67108864 (64 MB). I valori minimo e massimo consentiti sono 10485760 (10 MB) e 2146435072 (circa 2 GB).

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
S3ResultBlockSize Facoltativo 67108864 S3ResultBlockSize=268435456;

Lunghezza della colonna di stringa

Speciifica la lunghezza delle colonne con il tipo di dati string. Poiché Athena utilizza il tipo di dati stringa Apache Hive, che non ha una precisione definita, la lunghezza predefinita riportata da Athena è 2147483647 (INT_MAX). Poiché gli strumenti di BI di solito preallocano la memoria per le colonne, ciò può comportare un elevato consumo di memoria. Per evitare ciò, il driver ODBC Athena limita la precisione riportata per le colonne del tipo di dati string ed espone il parametro di connessione StringColumnLength in modo che il valore predefinito possa essere modificato.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
StringColumnLength Facoltativo 255 StringColumnLength=65535;

Lunghezza della colonna di tipo complesso

Speciifica la lunghezza delle colonne con tipi di dati complessi come mapstruct, e array. Ad esempio StringColumnLength, Athena riporta una precisione pari a 0 per le colonne con tipi di dati complessi. Il driver ODBC Athena imposta la precisione predefinita per le colonne con tipi di dati complessi ed espone il parametro di connessione ComplexTypeColumnLength in modo che il valore predefinito possa essere modificato.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
ComplexTypeColumnLength Facoltativo 65535 ComplexTypeColumnLength=123456;

Certificato CA attendibile

Utilizza le seguenti linee guida sul sistema operativo per configurare la verifica del certificato con il parametro. TrustedCerts Per ulteriori informazioni, consulta Encryption in transit.

TrustedCerts comportamento per sistema operativo
Sistema operativo Comportamento predefinito configurazione CA privata
Windows Il driver utilizza l'archivio di fiducia del sistema operativo per la verifica dei certificati. Il client Windows WinHTTP non utilizza il percorso nel TrustedCerts parametro. Configura la CA privata in Windows in modo che WinHTTP la consideri affidabile.
Linux Se non impostate questo parametro, il driver controlla le variabili di CURL_CA_BUNDLE SSL_CERT_FILE ambiente. Quindi controlla una serie di percorsi di sistema noti. Il driver memorizza nella cache il percorso CA risolto per tutta la durata del processo. Riavviare l'applicazione dopo aver modificato una delle due variabili di ambiente. Imposta TrustedCerts o una delle variabili di ambiente sul percorso del tuo pacchetto CA. Il parametro ha la precedenza sulle variabili di ambiente e sui percorsi di sistema.
macOS Se non impostate questo parametro, la verifica dei certificati utilizza l'archivio di fiducia predefinito della libreria System Curl. Imposta TrustedCerts il percorso del tuo file Trust Store.
Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
TrustedCerts Facoltativo Non impostato. La verifica del certificato segue il comportamento della piattaforma inTrustedCerts comportamento per sistema operativo. TrustedCerts=/etc/ssl/certs/cacert.pem;

User-Agent modalità privacy

Utilizzate questo parametro per controllare se il driver include i metadati dell'ambiente di runtime nell'User-Agentintestazione che invia alle richieste del provider di identità. Per impostazione predefinita, il driver include questi metadati. Imposta questo parametro in modo 1 da omettere i metadati del sistema operativo, dell'architettura e dell'ambiente di esecuzione dalle richieste del provider di identità. L'intestazione continua a includere l'identificatore del driver nel modulo. lib/AmazonAthenaODBC#<version> Solo il valore letterale 1 abilita la modalità privacy.

Questo parametro si applica solo alle richieste del provider di identità. Le richieste ai AWS servizi, tra cui Athena, AWS Glue e Amazon S3, includono sempre l'intestazione User-Agent completa, indipendentemente da questa impostazione. L'autenticazione integrata di Windows continua a utilizzare un browser. User-Agent

Utilizza questo parametro se una policy legacy del provider di identità non può accettare i metadati dell'ambiente di runtime nell'User-Agentintestazione.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
UserAgentPrivacyMode Facoltativo 0 UserAgentPrivacyMode=1;

Periodo minimo del polling

Specifica in millisecondi il valore minimo di attesa prima di eseguire il polling di Athena per verificare lo stato di esecuzione della query.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
MinQueryExecutionPollingInterval Facoltativo 100 MinQueryExecutionPollingInterval=200;

Periodo massimo del polling

Specifica in millisecondi il valore massimo di attesa prima di eseguire il polling di Athena per verificare lo stato di esecuzione della query.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
MaxQueryExecutionPollingInterval Facoltativo 60000 MaxQueryExecutionPollingInterval=1000;

Moltiplicatore polling

Specifica il fattore di incremento del periodo del polling. Per impostazione predefinita, il polling inizia con il valore del periodo minimo del polling e raddoppia con ogni polling fino a raggiungere il valore del periodo massimo di polling.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
QueryExecutionPollingIntervalMultiplier Facoltativo 2 QueryExecutionPollingIntervalMultiplier=2;

Durata massima del polling

Specifica il valore massimo in millisecondi entro cui un driver può eseguire il polling su Athena per verificare lo stato di esecuzione delle query.

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
MaxPollDuration Facoltativo 1800000 MaxPollDuration=1800000;

Timeout di connessione

La quantità di tempo (in millisecondi) di attesa prima che venga stabilita una connessione HTTP. Questo valore è impostato per il client Athena ClientConfiguration.connectTimeoutMs. Se non è specificato, viene utilizzato il valore predefinito curl. Per informazioni sui parametri di connessione, consulta Configurazione client nella Guida per gli sviluppatori di AWS SDK per Java .

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
ConnectionTimeout Facoltativo 0 ConnectionTimeout=2000;

Richiedi il timeout

Specifica il timeout di lettura dei socket per i client HTTP. Questo valore è impostato per il parametro ClientConfiguration.requestTimeoutMs del client Athena. Per informazioni, consulta Configurazione client nella Guida per gli sviluppatori di AWS SDK per Java .

Nome stringa connessione Tipo parametro Valore predefinito Esempio stringa connessione
RequestTimeout Facoltativo 10000 RequestTimeout=30000;