Looker unterstützt Verbindungen zu Amazon Athena, einem interaktiven Abfragedienst, der die Analyse von Daten in Amazon S3 mit Standard-SQL vereinfacht. Amazon Athena arbeitet serverlos, es muss also keine Infrastruktur verwaltet werden. Ihnen werden nur die ausgeführten Abfragen in Rechnung gestellt.
Netzwerk-Datenverkehr verschlüsseln
Es empfiehlt sich, den Netzwerkverkehr zwischen der Looker-Anwendung und Ihrer Datenbank zu verschlüsseln. Sehen Sie sich eine der Optionen an, die auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben werden.
Amazon Athena-Verbindung konfigurieren
Auf dieser Seite wird beschrieben, wie Sie Looker mit einer Amazon Athena-Instanz verbinden.
Die müssen Folgendes haben:
- Ein Paar Amazon AWS-Zugriffsschlüssel.
Der S3-Bucket mit den Daten, die Sie in Looker mit Amazon Athena abfragen möchten. Die Amazon AWS-Zugriffsschlüssel müssen Lese-/Schreibzugriff auf diesen Bucket haben.
Amazon Athena muss entweder über eine Rolle oder einen Berechtigungssatz sowie über Firewallregeln Zugriff auf diesen S3-Bucket haben. Fügen Sie dem S3-Bucket für die IP-Adresse von Looker keine Sicherheitsregeln hinzu, da dies versehentlich den Zugriff von Amazon Athena auf den S3-Bucket blockieren kann. Für andere Dialekte außer Amazon Athena sollten Nutzer den Zugriff auf die Daten aus der Netzwerkschicht mit einer IP-Zulassungsliste einschränken, wie auf der Dokumentationsseite Sicheren Datenbankzugriff ermöglichen beschrieben.
Sie müssen wissen, wo sich die Daten Ihrer Amazon Athena-Instanz befinden. Den Namen der Region finden Sie oben rechts in der Amazon-Konsole.
Wählen Sie in Looker im Bereich Admin die Option Verbindungen aus und klicken Sie dann auf Verbindung hinzufügen.
Geben Sie die Verbindungsdetails ein:
- Name: Geben Sie den Namen der Verbindung an. So verweisen Sie in LookML-Projekten auf die Verbindung.
- Dialekt: Wählen Sie Amazon Athena aus.
- Host und Port: Geben Sie den Namen des Hosts und des Ports an, wie in der Athena-Dokumentation zum JDBC-URL-Format beschrieben. Der Host sollte ein gültiger Amazon-Endpunkt (z. B.
athena.eu-west-1.amazonaws.com
) sein und der Port sollte bei443
bleiben. Eine aktuelle Liste der Endpunkte, die Athena unterstützen, finden Sie auf der Seite Allgemeine AWS-Referenz. - Datenbank: Geben Sie die Standarddatenbank an, die modelliert werden soll. Auf andere Datenbanken kann zugegriffen werden, aber Looker behandelt diese Datenbank als Standarddatenbank.
- Nutzername: Geben Sie die AWS-Zugriffsschlüssel-ID an.
- Password (Passwort): Geben Sie den geheimen AWS-Zugriffsschlüssel an.
- PDTs aktivieren: Mit dieser Ein/Aus-Schaltfläche können Sie persistente abgeleitete Tabellen (PDTs) aktivieren. Wenn Sie PDTs aktivieren, werden zusätzliche PDT-Felder und der Abschnitt PDT Overrides (PDT-Überschreibungen) für die Verbindung angezeigt.
- Temporäre Datenbank: Geben Sie den Namen des Ausgabeverzeichnisses in Ihrem S3-Bucket an, in das Looker die PDTs schreiben soll. Der vollständige Pfad zum Ausgabeverzeichnis muss im Feld Zusätzliche JDBC-Parameter angegeben werden. Weitere Informationen finden Sie auf dieser Seite im Abschnitt S3-Bucket für die Ausgabe von Abfrageergebnissen und PDTs angeben.
- Max. Anzahl der PDT-Builder-Verbindungen: Geben Sie die Anzahl der möglichen gleichzeitigen PDT-Builds für diese Verbindung an. Wenn Sie diesen Wert zu hoch ansetzen, kann sich das negativ auf die Abfragezeiten auswirken. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
- Zusätzliche JDBC-Parameter: Geben Sie zusätzliche Parameter für die Verbindung an:
- Der Parameter
s3_staging_dir
ist der S3-Bucket, den Looker für die Ausgabe von Abfrageergebnissen und PDTs verwenden soll. Weitere Informationen finden Sie auf dieser Seite im Abschnitt S3-Bucket für die Ausgabe von Abfrageergebnissen und PDTs angeben. - Flag für Streaming-Ergebnisse. Wenn Sie die Richtlinie
athena:GetQueryResultsStream
an Ihren Athena-Nutzer angehängt haben, können Sie;UseResultsetStreaming=1
am Ende Ihrer zusätzlichen JDBC-Parameter hinzufügen, um die Leistung bei der Extraktion großer Ergebnismengen erheblich zu verbessern. Dieser Parameter ist standardmäßig auf0
festgelegt. - Optionale zusätzliche Parameter, die dem JDBC-Verbindungsstring hinzugefügt werden sollen.
- Der Parameter
- SSL: Ignorieren Standardmäßig werden alle Verbindungen zur AWS API verschlüsselt.
- Maximale Verbindungen pro Knoten: Der Standardwert ist 5. Sie können diesen Wert auf bis zu 20 erhöhen, wenn Looker die Hauptabfrage-Engine für Athena ist. Weitere Informationen zu den Dienstlimits finden Sie in der Dokumentation zu Athena-Dienstlimits. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
- Zeitlimit für Verbindungspool: Geben Sie das Zeitlimit für den Verbindungspool an. Standardmäßig ist das Zeitlimit auf 120 Sekunden eingestellt. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
- SQL Runner Precache: Heben Sie die Auswahl dieser Option auf, wenn SQL Runner Tabelleninformationen nur dann lädt, wenn eine Tabelle ausgewählt ist. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
- Datenbankzeitzone: Geben Sie die Zeitzone an, die in der Datenbank verwendet wird. Lassen Sie dieses Feld leer, wenn keine Zeitzonenkonvertierung erfolgen soll. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.
Klicken Sie auf Testen, um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankkonnektivität testen.
Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.
S3-Bucket für die Ausgabe von Abfrageergebnissen und PDTs angeben
Verwenden Sie das Feld Zusätzliche JDBC-Parameter auf der Seite Verbindungen, um den Pfad zum S3-Bucket zu konfigurieren, den Looker zum Speichern der Abfrageergebnisse verwendet. Geben Sie außerdem den Namen des Ausgabeverzeichnisses im S3-Bucket an, in den Looker PDTs schreiben soll. Geben Sie diese Informationen mit dem Parameter s3_staging_dir
an.
Der JDBC-Parameter s3_staging_dir
ist eine alternative Möglichkeit, die Amazon Athena-Eigenschaft S3OutputLocation
zu konfigurieren, die für Athena-JDBC-Verbindungen erforderlich ist. Weitere Informationen sowie eine Liste aller verfügbaren JDBC-Treiberoptionen finden Sie in der Athena-Dokumentation zu den JDBC-Treiberoptionen.
Geben Sie im Feld Zusätzliche JDBC-Parameter den Parameter s3_staging_dir
im folgenden Format an:
`s3_staging_dir=s3://<s3-bucket>/<output-path>`
Wobei:
<s3-bucket>
ist der Name des S3-Buckets.<output-path>
ist der Pfad, unter dem Looker die Abfrageergebnisse schreibt.
Das AWS-Zugriffsschlüsselpaar muss Schreibberechtigungen für das Verzeichnis
<s3-bucket>
haben.
Um das Verzeichnis zu konfigurieren, in das Looker PDTs schreibt, geben Sie den Pfad des Verzeichnisses im S3-Bucket in das Feld Temp Database ein.
Wenn Looker beispielsweise PDTs in s3://<s3-bucket>/looker_scratch
schreiben soll, geben Sie dies in das Feld Temp Database (Temporäre Datenbank) ein:
`looker_scratch`
Geben Sie nur den Pfad des Verzeichnisses ein. Looker erhält den Namen des S3-Buckets aus dem Parameter s3_staging_dir
, den Sie im Feld Zusätzliche JDBC-Parameter eingeben.
Hinweise zu S3-Buckets
Es wird empfohlen, Amazon S3-Objektlebenszyklen zu konfigurieren, um regelmäßig nicht benötigte Dateien im angegebenen S3-Bucket zu bereinigen. Dafür gibt es verschiedene Gründe:
- Athena speichert Abfrageergebnisse für jede Abfrage in einem S3-Bucket. Siehe Athena-Abfragen.
- Wenn PDTs aktiviert sind, werden beim Erstellen einer PDT Metadaten zur erstellten Tabelle im S3-Bucket gespeichert.
Ressourcen
- Amazon Athena-Dokumentation
- Amazon Web Services Console für Athena (AWS-Anmeldung erforderlich)
- Referenz zu Amazon Athena SQL und HiveQL
Debugging
Amazon bietet die JDBC-Treiberoptionen LogLevel
und LogPath
für das Debugging von Verbindungen. Wenn Sie sie verwenden möchten, fügen Sie am Ende des Felds Zusätzliche JDBC-Parameter das Zeichen ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log
ein und testen Sie die Verbindung noch einmal.
Wenn die Instanz von Looker gehostet wird, muss der Looker-Support oder Ihr Analyst diese Datei abrufen, um mit dem Debugging fortzufahren.
Funktionsunterstützung
Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.
Amazon Athena unterstützt ab Looker 24.14 die folgenden Funktionen:
Feature | Unterstützt? |
---|---|
Supportstufe | Unterstützt |
Looker (Google Cloud Core) | Ja |
Symmetrische Summen | Ja |
Abgeleitete Tabellen | Ja |
Persistente SQL-abgeleitete Tabellen | Ja |
Nichtflüchtige native abgeleitete Tabellen | Ja |
Stabile Ansichten | Ja |
Anfrage wird abgebrochen | Ja |
SQL-basierte Drehpunkte | Ja |
Zeitzonen | Ja |
SSL | Ja |
Zwischensummen | Nein |
Zusätzliche JDBC-Parameter | Ja |
Groß-/Kleinschreibung beachten | Ja |
Standorttyp | Ja |
Listentyp | Ja |
Perzentil | Ja |
Perzentil der unterschiedlichen Werte | Nein |
SQL Runner – Prozesse anzeigen | Nein |
SQL Runner Describe Table | Ja |
SQL Runner-Indexe für Serien | Nein |
SQL Runner Select 10 | Ja |
Anzahl der SQL-Runner | Ja |
SQL Explain | Nein |
OAuth-Anmeldedaten | Nein |
Kontextkommentare | Ja |
Verbindungs-Pooling | Nein |
HLL-Skizzen | Ja |
Aggregatfunktion | Ja |
Inkrementelle PDTs | Nein |
Millisekunden | Ja |
Mikrosekunden | Nein |
Materialisierte Ansichten | Nein |
Ungefähre Anzahl einzelner | Ja |
Nächste Schritte
Nachdem die Datenbankverbindung hergestellt wurde, konfigurieren Sie die Authentifizierungsoptionen.