BigQuery ist ein verwaltetes, serverloses Data Warehouse in der Google Cloud, das darauf ausgelegt ist, skalierbare Analysen über Petabytes an Daten zu ermöglichen. Es handelt sich um eine relationale Datenbank, Platform as a Service (PaaS), die ANSI-SQL-Abfragen unterstützt. Als solches funktioniert es mit der IRI-Software.
Die Verbindung von Google BigQuery RDB mit IRI Workbench und dem Back-End-Verarbeitungsprogramm SortCL ist einfach und ermöglicht die Bewegung und Bearbeitung seiner strukturierten Daten durch kompatible IRI-Produkte. Das bedeutet IRI CoSort, FieldShield, NextForm und RowGen oder die IRI Voracity-Plattform, die sie alle umfasst.
Die Konnektivität folgt dem gleichen Paradigma wie alle anderen relationalen Datenbanken, die IRI unterstützt. Dies bedeutet das Herunterladen und Installieren von ODBC- und JDBC-Treibern, die Konfiguration (Verwenden und Testen mit Ihren Anmeldeinformationen), die Registrierung und Validierung.
Da Workbench auf Eclipse aufbaut, benötigt es eine JDBC-Verbindung, um das BigQuery-Schema anzuzeigen und die Tabellenmetadaten zu parsen. Und um Daten zwischen BigQuery und der SortCL-Datenbearbeitungs-Engine zu übertragen, wird auch ein ODBC-Treiber benötigt. Das Endergebnis könnte so aussehen:
Google hat sich mit Magnitude Simba zusammengetan, um ODBC- und JDBC-Treiber für die Verbindung mit BigQuery bereitzustellen. Zum Zeitpunkt des Schreibens dieses Artikels fehlen dem JDBC-Treiber jedoch Schlüsselfunktionen, die Workbench benötigt. Um dies zu umgehen, verwenden Sie den JDBC-Treiber von CData.
Dieser Artikel enthält Schritt-für-Schritt-Anleitungen für die IRI-Software zum Zugriff auf BigQuery.
Dienstkonten in BigQuery
BigQuery autorisiert den Zugriff auf Ressourcen basierend auf einer verifizierten Identität, für die eine Benutzer-ID in Form eines Dienstkontos und ein Schlüssel/Passwort erforderlich sind. Um eine verifizierte Identität zu erstellen, melden Sie sich bei BigQuery an, gehen Sie zu Dienstkonten unter IAM &Verwaltung und erstellen Sie ein Konto:
Das erste Feld erstellt den Namen des Dienstkontos, für meine Einrichtung habe ich es iri-simba genannt. Das zweite Feld wird automatisch mit einer Dienstkonto-E-Mail-Adresse mit dem von Ihnen gewählten Namen ausgefüllt. Das letzte Feld kann übersprungen werden. Klicken Sie auf Erstellen und fortfahren.
Nachdem ein Dienstkonto erstellt wurde, können wir mit der Art der Berechtigungen fortfahren, die dieses Konto haben kann. Klicken Sie auf Rolle auswählen und suchen Sie nach BigQuery, um bestimmte Rollen für die Datenbank hinzuzufügen.
Wenn Sie den Mauszeiger über jede Rolle bewegen, erhalten Sie eine kurze Beschreibung, welche Art von Zugriff diese Rolle dem Dienstkonto gewährt. Eine genauere Erklärung finden Sie hier. Dies ermöglicht eine größere Kontrolle darüber, bestimmten Benutzern Berechtigungen zu erteilen, z. B. die Möglichkeit, Tabellen anzuzeigen, Abfragen zu erstellen oder als Administrator auszuführen.
Ich habe die Rolle des BigQuery-Benutzers gewählt, die es diesem Dienstkonto ermöglicht, Tabellen anzuzeigen und zu bearbeiten. Das „Benutzerzugriff auf dieses Dienstkonto gewähren“ wird übersprungen. Klicken Sie auf Fertig bringt Sie zurück zur Hauptseite des Dienstkontos, wo Sie das Konto sehen können:
Fahren wir mit dem zweiten Teil fort und erstellen wir den Schlüssel, der dem neuen Dienstkonto zugeordnet wird. Klicken Sie im Aktionsfeld auf Schlüssel verwalten um den Schlüssel für das Dienstkonto zu erstellen – entweder indem Sie Ihren eigenen Schlüssel hinzufügen oder ihn für Sie erstellen lassen.
Wenn Sie Ihren Schlüssel von Google erstellen lassen, werden Ihnen zwei Schlüsseltypoptionen angezeigt, JSON oder P12. Wählen Sie den JSON-Typ, da dieser Schlüssel auch für den JDBC-Treiber verwendet wird, der das JSON-Format verwendet.
Wenn der JSON-Schlüssel erstellt wird, wird er auf den Computer heruntergeladen. Sie können es platzieren, wo immer Sie möchten, aber merken Sie sich den Pfad, da dieser beim Einrichten des ODBC- und JDBC-Treibers verwendet wird.
Nachdem das Dienstkonto erstellt wurde und über einen Schlüssel verfügt, der als Kennwort fungiert, fahren wir mit dem Herunterladen und Einrichten der ODBC-Verbindung fort.
ODBC – Download und Konfiguration
Ich verwende ein Windows-Betriebssystem und wähle die 64-Bit-Version von Windows aus Gründen der Kompatibilität mit der ausführbaren Datei CoSort V10.5 SortCL. Nachdem Sie die Anweisungen befolgt und die Lizenzvereinbarung für das Simba-Installationsprogramm akzeptiert haben, öffnen Sie den ODBC-Datenquellen-Administrator (64-Bit), um die Verbindung zu konfigurieren.
Fügen Sie einfach den Treiber „Simba ODBC Driver for Google BigQuery“ hinzu und suchen Sie nach ihm.
Wenn der Treiber ausgewählt ist, sollte die Setup-Seite wie folgt aussehen:
Hier ist die Konfiguration wirklich einfach, beginnend mit dem Namen für die Datenquelle.
Ich habe den Namen Google BigQuery gewählt, aber Sie können einen beliebigen Namen für Ihren Anwendungsfall wählen.
Behalten Sie für die Authentifizierung die Standardoption Dienstkonto bei und wechseln Sie nach unten zu E-Mail. Hier können Sie die zuvor in diesem Artikel erstellte Dienstkonto-E-Mail kopieren und einfügen.
Das Feld unten (Pfad der Schlüsseldatei) verwendet den Pfad zur JSON-Schlüsseldatei als Eingabe. Klicken Sie unten, wo Katalog (Projekt) steht, auf das Dropdown-Menü. Wenn alles richtig konfiguriert ist, sollte der Name des Projekts und des Knotens angezeigt werden, der die Datensätze und Tabellen enthält.
Sie können dasselbe für die Option Datensatz tun, klicken Sie auf das Dropdown-Menü, um einen bestimmten Datensatz auszuwählen, oder lassen Sie dieses Feld leer, um alle Datensätze in diesem Projekt anzuzeigen. Testen Sie abschließend die Verbindung, um sicherzustellen, dass alles richtig funktioniert.
Wenn ODBC eingerichtet ist, können wir den JDBC-Treiber konfigurieren.
JDBC – Download und Konfiguration
Laden Sie hier den JDBC-Treiber von CData herunter. Sobald die Installation abgeschlossen ist, gibt es einen Ordner namens GoogleBigQueryJDBCDriver mit einer setup.jar darin.
Die setup.jar-Datei installiert alle Dateien, die für das Funktionieren der JDBC-Verbindung erforderlich sind. Es enthält auch ein spezielles JAR, um beim Erstellen der Verbindungs-URL für den JDBC-Treiber zu helfen.
Nachdem setup.jar die Installation abgeschlossen hat, müssen wir die Konfigurationen in Workbench bereit haben. Fügen Sie im Datenquellen-Explorer (innerhalb von Workbench) eine neue Verbindung hinzu, indem Sie auf Neues Verbindungsprofil klicken .
Es erscheint ein Popup (wie im Bild unten) und bietet mehrere Optionen für die Art der Verbindungen, die erstellt werden können. Wählen Sie das generische JDBC aus und geben Sie ihm einen Namen wie BigQuery, damit es im Datenquellen-Explorer leicht zu erkennen ist.
Auf der nächsten Seite werden Sie aufgefordert, den Treiber einzurichten und die Verbindungsdetails anzugeben. Klicken Sie auf Neue Treiberdefinition das sieht aus wie ein Kompass mit grünem Pluszeichen.
Auf der folgenden Seite können Sie dem Treiber bei Bedarf einen bestimmten Namen geben. Wechseln Sie zur Registerkarte JAR-Liste. Hier werden die erforderlichen JAR-Dateien hinzugefügt, damit der JDBC-Treiber funktioniert.
Wenn bei der Installation der Dateien für den JDBC-Treiber der Standardspeicherort verwendet wurde, sollte er sich im Ordner Programme mit dem Namen CData befinden. Im lib-Ordner befindet sich eine Jar-Datei namens cdata.jdbc.googlebigquery.GoogleBigQueryDriver , fügen Sie dieses Glas zur Liste hinzu und fahren Sie mit der Registerkarte Eigenschaften fort.
*Der Standardpfad ist im Bild unten zu sehen, wenn es Probleme beim Auffinden der JAR-Datei gibt*
Auf der Registerkarte Eigenschaften müssen wir eine Verbindungs-URL erstellen, der Datenbank einen Namen geben und die Treiberklasse angeben. Konzentrieren Sie sich zunächst auf die Erstellung der Verbindungs-URL, suchen Sie im Datei-Explorer die gerade hinzugefügte JAR-Datei und führen Sie sie aus.
Dies hilft dabei, die Verbindungs-URL in dem von CData vorgeschlagenen Format zu erstellen. Wie im Bild unten zu sehen, gibt es auf der linken Seite Eigenschaften, die festgelegt werden müssen, um die Verbindungs-URL zu erstellen.
CData verfügt über eine Dokumentation darüber, welche Eigenschaften festgelegt werden müssen, je nachdem, wie sich der Benutzer für die Authentifizierung entschieden hat. Da wir uns mit einem Dienstkonto authentifizieren, sind die Eigenschaften, die festgelegt werden müssen, unten aufgeführt.
- AuthScheme – Auf OAuthJWT gesetzt
- ProjectID – Befindet sich auf der Startseite von BigQuery
- InitiateOAuth – Auf GETANDREFRESH setzen
- OAuthJWTCertType – Auf GOOGLEJSON eingestellt
- OAuthJWTCert – Pfad zur von Google bereitgestellten .json-Datei
Sobald alle Eigenschaften festgelegt sind, testen Sie die Verbindung, um sicherzustellen, dass alles funktioniert. Kopieren Sie bei Erfolg die Verbindungszeichenfolge unten. Wenn Sie beenden, ohne die Verbindungs-URL zu kopieren, müssen Sie die Eigenschaften erneut festlegen.
Fügen Sie in Workbench die URL neben der Eigenschaft „Verbindungs-URL“ ein und fügen Sie den Namen der Datenbank für die Eigenschaft „Datenbankname“ hinzu. Für die Eigenschaft Driver Class gibt es im leeren Feld eine Schaltfläche mit drei Punkten.
Klicken Sie darauf und Sie haben die Möglichkeit, den Namen der Treiberklasse einzugeben oder die JAR-Liste nach dem Treiber zu durchsuchen. Wenn alles fertig ist, sollte es ungefähr so aussehen:
Klicken Sie auf OK und Sie werden zurück zur Seite „Geben Sie einen Treiber und Verbindungsdetails an“ gesendet. Es ist nicht erforderlich, einen Benutzernamen oder ein Passwort hinzuzufügen, da alle Informationen in der Verbindungs-URL enthalten sind. Testen Sie die Verbindung ein letztes Mal und klicken Sie auf Fertig stellen.
Das Verbindungsprofil ist jetzt im Datenquellen-Explorer sichtbar und die Schemas/Tabellen können angezeigt werden, sobald Sie mit der rechten Maustaste auf das Profil klicken und Verbinden auswählen.
Die letzte Aufgabe besteht darin, eine Datenverbindungsregistrierung zu erstellen, die den DSN dem soeben erstellten Verbindungsprofil zuordnet. Gehen Sie zum IRI-Menü, wählen Sie Einstellungen aus und suchen Sie die Datenverbindungsregistrierung, wie das Bild unten zeigt.
Links ist der DSN und rechts die Verbindungsprofile. Suchen Sie den oben im ODBC-Abschnitt erstellten DSN und klicken Sie auf Bearbeiten…. Wählen Sie den DSN, die Version und das Verbindungsprofil aus.
Da der DSN die Anmeldeinformationen in der Verbindungs-URL gespeichert hat, ist keine Authentifizierung mit einem Benutzer/Kennwort erforderlich. Klicken Sie auf OK und Übernehmen und schließen um das Menü zu verlassen.
Sie sind jetzt mit den Schritten zur Datenbankverbindung für Google BigQuery fertig. Wenn Sie Hilfe benötigen, senden Sie eine E-Mail an [email protected].