BigQuery è un data warehouse serverless gestito in Google Cloud progettato per consentire analisi scalabili su petabyte di dati. È un database relazionale Platform as a Service (PaaS) che supporta le query ANSI SQL. In quanto tale, funziona con il software IRI.
Il collegamento di Google BigQuery RDB a IRI Workbench e al programma di elaborazione SortCL back-end è semplice e consente lo spostamento e la manipolazione dei dati strutturati tramite prodotti IRI compatibili. Ciò significa IRI CoSort, FieldShield, NextForm e RowGen o la piattaforma IRI Voracity che li include tutti.
La connettività segue lo stesso paradigma di tutti gli altri database relazionali supportati da IRI. Ciò significa download e installazione dei driver ODBC e JDBC, configurazione (utilizzo e test con le proprie credenziali), registrazione e convalida.
Poiché Workbench è basato su Eclipse, necessita di una connessione JDBC per visualizzare lo schema BigQuery e analizzare i metadati della tabella. E per trasferire i dati tra BigQuery e il motore di manipolazione dei dati SortCL, è necessario anche un driver ODBC. Il risultato finale potrebbe essere questo:
Google ha collaborato con Magnitude Simba per fornire driver ODBC e JDBC per la connessione a BigQuery. Al momento della stesura di questo documento, tuttavia, al suo driver JDBC mancano le funzioni chiave di cui Workbench ha bisogno. Per aggirare questo problema, usa il driver JDBC di CData.
Questo articolo fornisce istruzioni dettagliate per consentire al software IRI di accedere a BigQuery.
Account di servizio in BigQuery
BigQuery autorizza l'accesso alle risorse in base all'identità verificata, che richiede un ID utente sotto forma di account di servizio e una chiave/password. Per creare un'identità verificata, accedi a BigQuery, vai su Account di servizio in IAM e amministrazione e crea un account:
Il primo campo crea il nome dell'account di servizio, per la mia configurazione l'ho chiamato iri-simba. Il secondo campo verrà compilato automaticamente con l'indirizzo e-mail di un account di servizio utilizzando il nome che hai scelto. L'ultimo campo può essere saltato. Fai clic su Crea e continua.
Ora che è stato creato un account di servizio, possiamo passare al tipo di autorizzazioni che questo account può avere. Fare clic su Seleziona un ruolo e cerca BigQuery per aggiungere ruoli specifici per il database.
Passare il mouse su ciascun ruolo ti darà una rapida descrizione del tipo di accesso che questo ruolo darà all'account di servizio; trovi una spiegazione più dettagliata qui. Ciò consente un maggiore controllo sulla concessione di autorizzazioni a utenti specifici come la possibilità di visualizzare tabelle, creare query o eseguire come amministratore.
Ho scelto il ruolo di Utente BigQuery, che consentirà a questo account di servizio di visualizzare e manipolare le tabelle. L'opzione "Concedi all'utente l'accesso a questo account di servizio" viene ignorata. Facendo clic su Fine ti riporta alla pagina principale dell'account di servizio dove puoi vedere l'account:
Passando alla seconda porzione, creiamo la chiave che sarà associata al nuovo account di servizio. Nel campo Azione, fai clic su Gestisci chiavi per creare la chiave per l'account di servizio, aggiungendo la tua chiave o creandola per te.
Se hai Google per creare la tua chiave, ti presenterà due opzioni di tipo di chiave, JSON o P12. Scegli il tipo JSON perché questa chiave verrà utilizzata anche per il driver JDBC che utilizza il formato JSON.
Quando viene creata la chiave JSON, verrà scaricata sul computer. Puoi posizionarlo dove vuoi, ma ricorda il percorso perché verrà utilizzato per configurare il driver ODBC e JDBC.
Ora che l'account di servizio è stato creato e dispone di una chiave che fungerà da password, passiamo al download della connessione ODBC e alla sua configurazione.
ODBC:download e configurazione
Sto utilizzando un sistema operativo Windows e scelgo la versione Windows a 64 bit per la compatibilità con l'eseguibile SortCL CoSort V10.5. Dopo aver seguito le istruzioni e accettato il contratto di licenza per Simba Installer, apri ODBC Data Source Administrator (64-bit) per configurare la connessione.
Basta aggiungere e cercare il driver denominato "Simba ODBC Driver for Google BigQuery".
Con il driver selezionato, la pagina di configurazione dovrebbe apparire così:
Qui la configurazione è molto semplice, partendo dal nome della sorgente dati.
Ho scelto il nome Google BigQuery ma puoi scegliere qualsiasi nome per il tuo caso d'uso.
Per l'autenticazione, mantieni l'opzione predefinita Account di servizio e passa all'e-mail. Qui puoi copiare e incollare l'e-mail dell'account di servizio che è stata creata in precedenza in questo articolo.
Il campo sottostante (Percorso file chiave) utilizza il percorso del file chiave JSON come input. Nella parte inferiore dove si afferma Catalogo (Progetto) fai clic sul menu a discesa. Se tutto è configurato correttamente, dovrebbe mostrare il nome del progetto e del nodo che contiene i dataset e le tabelle.
Puoi fare lo stesso per l'opzione Set di dati, fare clic sul menu a discesa per selezionare un set di dati specifico o lasciarlo vuoto per vedere tutti i set di dati in questo progetto. Infine prova la connessione per assicurarti che tutto funzioni correttamente.
Quando ODBC è impostato, possiamo configurare il driver JDBC.
JDBC:download e configurazione
Scarica il driver JDBC da CData qui. Una volta completata l'installazione, ci sarà una cartella chiamata GoogleBigQueryJDBCDriver con un setup.jar all'interno.
setup.jar installerà tutti i file necessari per il funzionamento della connessione JDBC. Contiene anche un jar speciale per facilitare la creazione dell'URL di connessione per il driver JDBC.
Dopo che setup.jar ha completato l'installazione, è necessario che le configurazioni in Workbench siano pronte. In Esplora origine dati (all'interno di Workbench), aggiungi una nuova connessione facendo clic su Nuovo profilo di connessione .
Apparirà un pop (come l'immagine qui sotto) e darà diverse opzioni sul tipo di connessioni che possono essere create. Seleziona il JDBC generico e assegnagli un nome come BigQuery, questo lo renderà facile da individuare in Esplora origine dati.
La pagina successiva ti indirizzerà a configurare il driver e fornire i dettagli di connessione. Fare clic su Nuova definizione driver sembra una bussola con un segno più verde.
La pagina seguente consente di assegnare un nome specifico al conducente, se lo si desidera. Passando alla scheda Elenco JAR, è qui che vengono aggiunti i jar necessari per il funzionamento del driver JDBC.
Se il percorso predefinito è stato utilizzato durante l'installazione dei file per il driver JDBC, dovrebbe trovarsi nella cartella Programmi con il nome CData. All'interno della cartella lib c'è un file Jar chiamato cdata.jdbc.googlebigquery.GoogleBigQueryDriver , aggiungi quel jar all'elenco e procedi alla scheda Proprietà.
*Il percorso predefinito è visualizzato nell'immagine sottostante in caso di problemi nell'individuazione del file jar*
Nella scheda Proprietà, è necessario creare un URL di connessione, assegnare un nome al database e specificare la classe del driver. Concentrandosi prima sulla creazione dell'URL di connessione, in Esplora file individuare il file jar appena aggiunto ed eseguirlo.
Ciò contribuirà a creare l'URL di connessione nel formato suggerito da CData. Come si vede nell'immagine qui sotto, ci sono delle proprietà sulla sinistra che devono essere impostate per creare l'URL di connessione.
CData ha la documentazione su quali proprietà devono essere impostate a seconda di come l'utente ha scelto di autenticarsi. Poiché ci stiamo autenticando con un account di servizio, le proprietà che devono essere impostate sono elencate di seguito.
- AuthScheme – Imposta su OAuthJWT
- ProjectID – Situato nella home page di BigQuery
- InitiateOAuth – Imposta su GETANDREFRESH
- OAuthJWTCertType – Imposta su GOOGLEJSON
- OAuthJWTCert – Percorso del file .json fornito da Google
Una volta impostate tutte le proprietà, verifica la connessione per assicurarti che tutto funzioni. In caso di successo, copia la stringa di connessione in basso. Se esci senza copiare l'URL di connessione, dovrai impostare nuovamente le proprietà.
Di nuovo in Workbench, incolla l'URL accanto alla proprietà URL di connessione e aggiungi il nome del database per la proprietà Nome database. Per la proprietà Driver Class, c'è un pulsante con tre punti nel campo vuoto.
Fare clic su di esso e ti darà la possibilità di inserire il nome della classe del driver o di farlo scansionare l'elenco JAR per il driver. Una volta che tutto è terminato, dovrebbe essere simile a questo:
Fare clic su OK e verrai rimandato alla pagina "Specifica un driver e dettagli di connessione". Non è necessario aggiungere un nome utente o una password perché tutte le informazioni si trovano nell'URL di connessione. Testare la connessione un'ultima volta e fare clic su Fine.
Il profilo di connessione sarà ora visibile in Esplora origine dati e gli schemi/tabelle possono essere visualizzati facendo clic con il pulsante destro del mouse sul profilo e scegliendo Connetti.
L'ultima attività consiste nel creare un registro di connessione dati che associ il DSN al profilo di connessione appena creato. Vai al menu IRI, seleziona le preferenze e individua il registro delle connessioni dati come suggerisce l'immagine qui sotto.
A sinistra c'è il DSN ea destra i profili di connessione. Individua il DSN creato nella sezione ODBC sopra e fai clic su Modifica…. Seleziona il DSN, la versione e il profilo di connessione.
Poiché il DSN ha le credenziali salvate nell'URL di connessione, non è necessario autenticarsi con un utente/password. Fare clic su OK e Applica e chiudi per uscire dal menu.
Ora hai finito con i passaggi di connettività del database per Google BigQuery. Se hai bisogno di assistenza, invia un'e-mail a [email protected].