Amazon Athena

Looker unterstützt Verbindungen zu Amazon Athena, einem interaktiven Abfragedienst, der die Analyse von Daten in Amazon S3 mit Standard-SQL vereinfacht. Amazon Athena ist serverlos, sodass keine Infrastruktur verwaltet werden muss. 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 Looker mit einer Amazon Athena-Instanz verbunden wird.

  1. 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 Zugriffsschlüssel von Amazon AWS müssen Lese-/Schreibzugriff auf diesen Bucket haben.

      Amazon Athena muss ü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 den Zugriff von Amazon Athena auf den S3-Bucket ungewollt blockieren kann. Bei anderen Dialekten außer Amazon Athena kann es sinnvoll sein, den Zugriff auf die Daten aus der Netzwerkschicht mit einer IP-Zulassungsliste zu beschränken, wie auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben.

    • Kenntnisse darüber, wo sich die Daten Ihrer Amazon Athena-Instanz befinden. Sie finden den Regionsnamen im oberen rechten Teil der Amazon Console.

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

  3. Füllen Sie die Verbindungsdetails aus:

    • 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 bei 443 bleiben. Eine aktuelle Liste der Endpunkte, die Athena unterstützen, finden Sie auf der Seite Allgemeine Referenz zu AWS.
    • 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 ID des AWS-Zugriffsschlüssels an.
    • Password (Passwort): Geben Sie den geheimen AWS-Zugriffsschlüssel an.
    • PDTs aktivieren: Verwenden Sie diese Ein/Aus-Schaltfläche, um nichtflüchtige 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 PATs schreiben soll. Der vollständige Pfad zu Ihrem 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 PATs angeben.
    • Maximale Anzahl von PAT-Builder-Verbindungen: Geben Sie die Anzahl der möglichen gleichzeitigen PAT-Builds für diese Verbindung an. Wenn Sie diesen Wert zu hoch festlegen, 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 PATs verwenden soll. Weitere Informationen finden Sie auf dieser Seite im Abschnitt S3-Bucket für die Ausgabe von Abfrageergebnissen und PATs angeben.
      • Flag für Streaming-Ergebnisse. Wenn Sie die Richtlinie athena:GetQueryResultsStream mit Ihrem Athena-Nutzer verknüpft 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 auf 0 gesetzt.
      • Optionale zusätzliche Parameter, die dem JDBC-Verbindungsstring hinzugefügt werden.
    • SSL: Ignorieren; standardmäßig werden alle Verbindungen zur AWS API verschlüsselt.
    • Maximale Anzahl von Verbindungen pro Knoten: Der Standardwert ist 5. Sie können diesen Wert auf bis zu 20 erhöhen, wenn Looker die Hauptabfrage-Engine ist, die für Athena ausgeführt wird. Weitere Informationen zu 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 laden soll, wenn eine Tabelle ausgewählt ist. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • Datenbank-Zeitzone: Geben Sie die in der Datenbank verwendete Zeitzone an. Lassen Sie dieses Feld leer, wenn Sie die Zeitzone nicht umwandeln möchten. 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 PATs angeben

Konfigurieren Sie im Feld Zusätzliche JDBC-Parameter auf der Seite Verbindungen den Pfad zu dem S3-Bucket, den Looker zum Speichern der Abfrageergebnisse verwendet, und geben Sie den Namen des Ausgabeverzeichnisses in dem 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, das Attribut S3OutputLocation für Amazon Athena zu konfigurieren, das 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 Ausgabe der 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 obigen S3-Bucket in das Feld Temporäre Datenbank ein. Wenn Sie beispielsweise möchten, dass Looker PDTs in s3://<s3-bucket>/looker_scratch schreibt, geben Sie Folgendes in das Feld Temporäre Datenbank ein:

`looker_scratch`

Geben Sie nur den Pfad des Verzeichnisses ein. Der Name des S3-Buckets wird von Looker aus dem Parameter s3_staging_dir abgerufen, den Sie im Feld Zusätzliche JDBC-Parameter eingeben.

Überlegungen zu S3-Buckets

Sie sollten Amazon S3-Objektlebenszyklen konfigurieren, um nicht benötigte Dateien im angegebenen S3-Bucket regelmäßig zu bereinigen. Dafür gibt es verschiedene Gründe:

  • Athena speichert Abfrageergebnisse für jede Abfrage in einem S3-Bucket. Siehe Athena-Abfragen.
  • Wenn Sie PATs aktiviert haben, werden die Metadaten der erstellten Tabelle beim Erstellen einer PDT im S3-Bucket gespeichert.

Ressourcen

Debugging

Amazon bietet LogLevel- und LogPath-JDBC-Treiberoptionen zum Debugging von Verbindungen. Wenn Sie sie verwenden möchten, fügen Sie am Ende des Felds Zusätzliche JDBC-Parameter ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log ein und testen die Verbindung noch einmal.

Wenn die Instanz in Looker gehostet wird, muss der Looker-Support oder Ihr Analyst diese Datei abrufen, um das Debugging fortzusetzen.

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 24.8 die folgenden Funktionen:

Funktion Unterstützt?
Supportstufe
Unterstützt
Looker (Google Cloud Core)
Yes
Symmetrische Summen
Yes
Abgeleitete Tabellen
Yes
Abgeleitete SQL-Tabellen
Yes
Nichtflüchtige native abgeleitete Tabellen
Yes
Stabile Ansichten
Yes
Abfrage beenden
Yes
SQL-basierte Pivots
Yes
Zeitzonen
Yes
SSL
Yes
Zwischensummen
Nein
Zusätzliche JDBC-Parameter
Yes
Groß-/Kleinschreibung beachten
Yes
Standorttyp
Yes
Listentyp
Yes
Perzentil
Yes
Unterschiedliche Perzentile
Nein
SQL-Runner-Show-Prozesse
Nein
SQL-Runner – Tabelle beschreiben
Yes
SQL Runner – Indexe anzeigen
Nein
SQL Runner Select 10
Yes
Anzahl der SQL-Runner
Yes
SQL erklären
Nein
OAuth-Anmeldedaten
Nein
Kontextkommentare
Yes
Verbindungs-Pooling
Nein
HLL-Skizzen
Yes
Aggregatfunktion
Yes
Inkrementelle PDTs
Nein
Millisekunden
Yes
Mikrosekunden
Nein
Materialisierte Ansicht
Nein
Ungefähre Anzahl unterschiedlich
Yes

Weitere Informationen

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