Connettore Google Amazon Athena BigQuery - 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à.

Connettore Google Amazon Athena BigQuery

Il connettore Amazon Athena per Google BigQueryconsente ad Amazon Athena di eseguire query SQL sui tuoi dati Google. BigQuery

Prerequisiti

Limitazioni

  • Le funzioni Lambda hanno un valore di timeout massimo di 15 minuti. Ogni split esegue una query su BigQuery e deve terminare con un tempo sufficiente per memorizzare i risultati da consentire ad Athena di leggerli. Se la funzione Lambda scade, la query ha esito negativo.

  • Google distingue tra maiuscole e BigQuery minuscole. Il connettore tenta di correggere la formattazione di maiuscole e minuscole dei nomi dei set di dati e delle tabelle, ma non apporta tale tipo di correzione agli ID di progetto. Ciò è necessario perché Athena applica la formattazione minuscola a tutti i metadati. Queste correzioni effettuano molte chiamate aggiuntive verso Google BigQuery.

  • I tipi di dati binari non sono supportati.

  • A causa della BigQuery concorrenza e dei limiti di quota di Google, il connettore potrebbe riscontrare problemi con i limiti di quota di Google. Per evitare questi problemi, imponi a Google BigQuery il maggior numero possibile di vincoli. Per informazioni sulle BigQuery quote, consulta Quote e limiti nella documentazione di Google. BigQuery

Parametri

Utilizza le variabili di ambiente Lambda in questa sezione per configurare il connettore Google BigQuery .

  • spill_bucket: specifica il bucket Amazon S3 per i dati che superano i limiti della funzione Lambda.

  • spill_prefix: (facoltativo) per impostazione predefinita, viene utilizzata una sottocartella nello spill_bucket specificato chiamata athena-federation-spill. Ti consigliamo di configurare un ciclo di vita dell'archiviazione di Amazon S3 in questa posizione per eliminare gli spill più vecchi di un numero predeterminato di giorni o ore.

  • spill_put_request_headers: (facoltativo) una mappa codificata in JSON delle intestazioni e dei valori della richiesta per la richiesta putObject di Amazon S3 utilizzata per lo spill (ad esempio, {"x-amz-server-side-encryption" : "AES256"}). Per altre possibili intestazioni, consulta il riferimento PutObjectall'API di Amazon Simple Storage Service.

  • kms_key_id: (facoltativo) per impostazione predefinita, tutti i dati riversati in Amazon S3 vengono crittografati utilizzando la modalità di crittografia autenticata AES-GCM e una chiave generata casualmente. Per fare in modo che la tua funzione Lambda utilizzi chiavi di crittografia più potenti generate da KMS come a7e63k4b-8loc-40db-a2a1-4d0en2cd8331, puoi specificare l'ID della chiave KMS.

  • disable_spill_encryption: (facoltativo) se impostato su True, disabilita la crittografia dello spill. L'impostazione predefinita è False: in questo modo, i dati riversati su S3 vengono crittografati utilizzando AES-GCM tramite una chiave generata casualmente o una chiave generata mediante KMS. La disabilitazione della crittografia dello spill può migliorare le prestazioni, soprattutto se la posizione dello spill utilizza la crittografia lato server.

  • gcp_project_id: l'ID del progetto (non il nome del progetto) che contiene i set di dati da cui il connettore deve leggere (ad esempio, semiotic-primer-1234567).

  • secret_manager_gcp_creds_name — Il nome del segreto all'interno AWS Secrets Manager del quale sono contenute le credenziali in formato JSON (ad esempio,). BigQuery GoogleCloudPlatformCredentials

  • big_query_endpoint — (Facoltativo) L'URL di un endpoint privato. BigQuery Utilizza questo parametro quando desideri accedere tramite un endpoint privato. BigQuery

Divisioni e visualizzazioni

Poiché il BigQuery connettore utilizza l'API BigQuery Storage Read per interrogare le tabelle e l'API BigQuery Storage non supporta le visualizzazioni, il connettore utilizza il BigQuery client con un'unica suddivisione per le visualizzazioni.

Prestazioni

Per interrogare le tabelle, il BigQuery connettore utilizza l'API BigQuery Storage Read, che utilizza un protocollo basato su RPC che fornisce un accesso rapido allo storage BigQuery gestito. Per ulteriori informazioni sull'API BigQuery Storage Read, consulta Utilizzare l'API BigQuery Storage Read per leggere i dati delle tabelle nella documentazione di Google Cloud.

La selezione di un sottoinsieme di colonne velocizza notevolmente il runtime delle query e riduce i dati scansionati. Il connettore è soggetto a errori di query all'aumentare della simultaneità e generalmente è lento.

Il BigQuery connettore Google Athena esegue il pushdown dei predicati per ridurre i dati scansionati dalla query. LIMITclausole, ORDER BY clausole, predicati semplici ed espressioni complesse vengono inserite nel connettore per ridurre la quantità di dati analizzati e ridurre il tempo di esecuzione delle query.

Clausole LIMIT

Una dichiarazione LIMIT N riduce la quantità di dati analizzati dalla query. Con il pushdown LIMIT N, il connettore restituisce solo le righe N ad Athena.

Query top N

Una query top N principale specifica un ordinamento dei set di risultati e un limite al numero di righe restituite. Puoi utilizzare questo tipo di query per determinare i valori massimi top N o i valori minimi top N per i set di dati. Con il pushdown top N, il connettore restituisce solo le righe ordinate N ad Athena.

Predicati

Un predicato è un'espressione nella clausola WHERE di una query SQL che valuta a un valore booleano e filtra le righe in base a più condizioni. Il BigQuery connettore Google Athena può combinare queste espressioni e inviarle direttamente a Google BigQuery per funzionalità avanzate e ridurre la quantità di dati scansionati.

I seguenti operatori del BigQuery connettore Google Athena supportano il pushdown dei predicati:

  • Booleano: AND, OR, NOT

  • Uguaglianza: EQUAL, NOT_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, IS_DISTINCT_FROM, NULL_IF, IS_NULL

  • Aritmetica: ADD, SUBTRACT, MULTIPLY, DIVIDE, MODULUS, NEGATE

  • Altro: LIKE_PATTERN, IN

Esempio di pushdown combinato

Per le funzionalità di esecuzione di query avanzate, combina i tipi di pushdown, come nell'esempio seguente:

SELECT * FROM my_table WHERE col_a > 10 AND ((col_a + col_b) > (col_c % col_d)) AND (col_e IN ('val1', 'val2', 'val3') OR col_f LIKE '%pattern%') ORDER BY col_a DESC LIMIT 10;

Interrogazioni pass-through

Il BigQuery connettore Google supporta le query passthrough. Le query passthrough utilizzano una funzione di tabella per inviare l'intera query alla fonte di dati per l'esecuzione.

Per utilizzare le query passthrough con Google BigQuery, puoi utilizzare la seguente sintassi:

SELECT * FROM TABLE( system.query( query => 'query string' ))

La seguente query di esempio invia una query a una fonte di dati in Google. BigQuery La query seleziona tutte le colonne della customer tabella, limitando i risultati a 10.

SELECT * FROM TABLE( system.query( query => 'SELECT * FROM customer LIMIT 10' ))

Informazioni sulla licenza

Il progetto Amazon Athena Google BigQuery Connector è concesso in licenza con la licenza Apache-2.0.

Utilizzando questo connettore, riconosci l'inclusione di componenti di terze parti, un elenco dei quali è disponibile nel file pom.xml relativo a questo connettore, e accetti i termini delle rispettive licenze di terze parti fornite nel file LICENSE.txt su .com. GitHub

Risorse aggiuntive

Per ulteriori informazioni su questo connettore, visitate il sito corrispondente su GitHub .com.