Amazon Athena

Looker unterstützt Verbindungen zu Amazon Athena, einem interaktiven Abfragedienst, mit dem Sie Daten in Amazon S3 mit Standard-SQL ganz einfach analysieren können. Amazon Athena ist serverlos, daher muss keine Infrastruktur verwaltet werden. Es werden nur die ausgeführten Abfragen in Rechnung gestellt.

Auf dieser Seite wird beschrieben, wie Sie Looker mit einer Amazon Athena-Instanz verbinden.

  1. Die müssen Folgendes haben:

    • Ein Paar von Amazon AWS-Zugriffsschlüsseln.
    • Der S3-Bucket mit den Daten, die Sie in Looker mit Amazon Athena abfragen möchten Der Amazon AWS-Zugriffsschlüssel muss Lese-/Schreibzugriff auf diesen Bucket haben.

      Amazon Athena muss entweder durch eine Rolle oder einen Berechtigungssatz sowie über Firewallregeln Zugriff auf diesen S3-Bucket haben. Fügen Sie dem S3-Bucket keine Sicherheitsregeln für die IP-Adresse von Looker hinzu, da dies den Zugriff von Amazon Athena auf den S3-Bucket versehentlich blockieren kann. Für andere Dialekte neben Amazon Athena können Nutzer den Zugriff auf die Daten aus der Netzwerkebene mithilfe einer IP-Zulassung einschränken, wie auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben.

    • Wissen Sie, wo sich Ihre Amazon Athena-Instanzdaten befinden. Den Namen der Region finden Sie im oberen rechten Bereich der Amazon Console.

  2. Wählen Sie im Abschnitt Admin von Looker die Option Verbindungen aus und klicken Sie auf Verbindung hinzufügen.

  3. Geben Sie die Verbindungsdetails ein:

    • Name: Geben Sie den Namen der Verbindung an. So verweisen Sie auf die Verbindung in LookML-Projekten.
    • 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 wie athena.eu-west-1.amazonaws.com sein und der Port sollte bei 443 bleiben. Eine aktuelle Liste der Endpunkte, die Athena unterstützen, finden Sie auf dieser Seite von AWS General Reference.
    • Datenbank: Geben Sie die Standarddatenbank an, die modelliert werden soll. Auf andere Datenbanken kann zugegriffen werden. Looker behandelt diese Datenbank jedoch als Standarddatenbank.
    • Nutzername: Geben Sie die ID des AWS-Zugriffsschlüssels an.
    • Password: Geben Sie den geheimen AWS-Zugriffsschlüssel an.
    • PDTs aktivieren: Verwenden Sie diese Ein-/Aus-Schaltfläche, um persistente abgeleitete Tabellen (PDTs) zu aktivieren. Wenn Sie PATs aktivieren, werden zusätzliche PAT-Felder und der Abschnitt PDT-Überschreibungen für die Verbindung angezeigt.
    • Temporäre Datenbank: Geben Sie den Namen des Ausgabeverzeichnisses in Ihrem S3-Bucket an, in den Looker Ihre PDTs schreiben soll. Der vollständige Pfad zum Ausgabeverzeichnis muss im Feld Zusätzliche JDBC-Parameter angegeben werden. Weitere Informationen finden Sie im Abschnitt S3-Bucket für Ausgabe von Abfrageergebnisse und PATs angeben auf dieser Seite.
    • Maximale Anzahl von PAT-Builder-Verbindungen: Geben Sie die Anzahl der möglichen gleichzeitigen PAT-Builds für diese Verbindung an. Wenn dieser Wert zu hoch ist, kann sich das negativ auf die Abfragezeiten auswirken. Weitere Informationen finden Sie auf der Dokumentationsseite Verbindung zwischen Looker und Datenbank herstellen.
    • 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 Abfrageergebnisse und PDTs verwenden soll. Weitere Informationen finden Sie im Abschnitt S3-Bucket für die Ausgabe von Abfrageergebnisse und PDTs angeben auf dieser Seite.
      • Flag für Streamingergebnisse. Wenn Sie die Athena-Richtlinie an die athena:GetQueryResultsStream-Richtlinie angehängt haben, können Sie ;UseResultsetStreaming=1 am Ende der zusätzlichen JDBC-Parameter anhängen, um die Leistung großer Ergebnismengen-Extraktionen erheblich zu verbessern. Dieser Parameter ist standardmäßig auf 0 gesetzt.
      • Optionale zusätzliche Parameter, die dem JDBC-Verbindungsstring hinzugefügt werden sollen.
    • SSL: Ignorieren. Standardmäßig werden alle Verbindungen zur AWS API verschlüsselt.
    • Max. Verbindungen pro Knoten: Standardmäßig ist dies auf 5 festgelegt. Sie können diesen Wert auf bis zu 20 erhöhen, wenn Looker die Haupt-Abfrage-Engine für Athena ist. Weitere Informationen finden Sie in der Dokumentation zu den Athena-Dienstlimits. Weitere Informationen finden Sie auf der Dokumentationsseite Verbindung zwischen Looker und Ihrer Datenbank herstellen.
    • Verbindungspool-Zeitlimit: 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 Verbindung zwischen Looker und Ihrer Datenbank herstellen.
    • SQL-Runner-Precache: Heben Sie die Auswahl dieser Option auf, wenn SQL-Runner nur Tabelleninformationen laden soll, wenn eine Tabelle ausgewählt ist. Weitere Informationen finden Sie auf der Dokumentationsseite Verbindung zwischen Looker und Ihrer Datenbank herstellen.
    • Zeitzone der Datenbank: Geben Sie die Zeitzone an, die in der Datenbank verwendet wird. Lassen Sie dieses Feld leer, wenn Sie keine Zeitzonenumwandlung wünschen. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.

Klicken Sie auf Test, um zu prüfen, ob die Verbindung erfolgreich war. Informationen zur Fehlerbehebung finden Sie in der Dokumentation zum Testen der Datenbankverbindung.

Klicken Sie auf Verbinden, um diese Einstellungen zu speichern.

S3-Bucket für die Ausgabe von Abfrageergebnisse und PATs festlegen

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. Außerdem geben Sie den Namen des Ausgabeverzeichnisses im S3-Bucket an, in dem 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 S3OutputLocationProperty von Amazon Athena zu konfigurieren, die für Athena-JDBC-Verbindungen erforderlich ist. Weitere Informationen und eine Liste aller verfügbaren JDBC-Treiberoptionen finden Sie in der Athena-Dokumentation zu 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, in den Looker die Abfrageergebnisse schreibt.

Das AWS-Zugriffsschlüsselpaar muss Schreibberechtigungen für das Verzeichnis <s3-bucket> haben.

Wenn Sie das Verzeichnis konfigurieren möchten, in das Looker PDTs schreibt, geben Sie in das Feld Temp Database den Pfad des Verzeichnisses im obigen S3-Bucket ein. Wenn Sie beispielsweise möchten, dass Looker PDTs in s3://<s3-bucket>/looker_scratch schreibt, geben Sie Folgendes in das Feld Temp Database ein:

`looker_scratch`

Geben Sie nur den Pfad des Verzeichnisses ein. Looker ruft den S3-Bucket-Namen aus dem Parameter s3_staging_dir ab, den Sie in das Feld Zusätzliche JDBC-Parameter eingeben.

Hinweise zu S3-Buckets

Es wird empfohlen, den Amazon S3-Objektlebenszyklus zu konfigurieren, um nicht benötigte Dateien im angegebenen S3-Bucket regelmäßig zu bereinigen. Dafür gibt es Gründe:

  • Athena speichert Abfrageergebnisse für jede Abfrage in einem S3-Bucket. Siehe Athena-Abfrage.
  • Wenn solche PATs aktiviert sind, werden beim Erstellen eines PATs Metadaten zur erstellten Tabelle im S3-Bucket gespeichert.

Ressourcen

Debugging

Amazon bietet die JDBC-Treiber LogLevel und LogPath für das Debugging von Verbindungen. Fügen Sie am Ende des Felds Zusätzliche JDBC-Parameter ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log hinzu 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 der Fehlerbehebung fortzufahren.

Unterstützte Funktionen

Damit Looker einige Funktionen unterstützen kann, müssen diese auch von Ihrem Datenbankdialekt unterstützt werden.

Amazon Athena unterstützt ab Looker 23.8 die folgenden Funktionen:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Ja
Symmetrische Summen
Ja
Abgeleitete Tabellen
Ja
Über SQL abgeleitete Tabellen
Ja
Nichtflüchtige native abgeleitete Tabellen
Ja
Stabile Aufrufe
Ja
Abfrageabbau
Ja
SQL-basierte Pivots
Ja
Zeitzonen
Ja
SSL
Ja
Zwischensummen
Nein
Zusätzliche JDBC-Parameter
Ja
Groß-/Kleinschreibung beachten
Ja
Standorttyp
Ja
Listentyp
Ja
Perzentil
Ja
Eindeutiges Perzentil
Nein
Prozesse der SQL Runner-Sendung
Nein
SQL-Runner-Beschreibungstabelle
Ja
SQL-Runner-Show-Indizes
Nein
SQL Runner Select 10
Ja
Anzahl der SQL-Runner
Ja
Erläuterung zu SQL
Nein
OAuth-Anmeldedaten
Nein
Kontextkommentare
Ja
Verbindungs-Pooling
Nein
HLL-Sketche
Ja
Aggregatfunktion
Ja
Inkrementelle PDTs
Nein
Millisekunden
Ja
Mikrosekunden
Nein
Materialisierte Ansichten
Nein
Ungefähre Anzahl Einzeln
Ja

Nächste Schritte

Nachdem Sie die Datenbankverbindung hergestellt haben, konfigurieren Sie die Authentifizierungsoptionen.