Amazon Athena

Looker unterstützt Verbindungen zu Amazon Athena, einem interaktiven Abfrageservice, mit dem Sie Daten in Amazon S3 mit Standard-SQL analysieren können. 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 Looker-Anwendung und Datenbank zu verschlüsseln. Prüfen Sie eine der Optionen, die auf der Dokumentationsseite Sicheren Datenbankzugriff ermöglichen beschrieben werden.

Amazon Athena-Verbindung konfigurieren

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

  1. Die müssen Folgendes haben:

    • Ein Paar Amazon AWS-Zugriffsschlüssel.
    • Den 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 über eine Rolle oder eine Berechtigungsgruppe sowie über Firewallregeln Zugriff auf diesen S3-Bucket haben. Fügen Sie dem S3-Bucket keine Sicherheitsregeln für die Looker-IP hinzu, da dies den Zugriff von Amazon Athena auf den S3-Bucket versehentlich blockieren kann. Bei anderen Dialekten als Amazon Athena können Nutzer den Zugriff auf die Daten von der Netzwerkschicht aus mit einer IP-Zulassungsliste einschränken, wie auf der Sicheren Datenbankzugriff ermöglichen Dokumentationsseite beschrieben.

    • Sie müssen wissen, wo sich die Daten Ihrer Amazon Athena-Instanz befinden. Der Regionsname befindet sich oben rechts in der Amazon Console.

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

  3. 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 den Port an, wie in der Athena-Dokumentation zum JDBC-URL-Format beschrieben. Der Host muss ein gültiger Amazon-Endpunkt sein (z. B. athena.eu-west-1.amazonaws.com) und der Port sollte 443 bleiben. Eine aktuelle Liste der Endpunkte, die Athena unterstützen, finden Sie auf dieser AWS General Reference Seite.
    • 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.
    • Passwort: Geben Sie den geheimen AWS-Zugriffsschlüssel an.
    • PDTs aktivieren: Mit dieser Option können Sie persistente abgeleitete Tabellen (PDTs) aktivieren. Wenn Sie PDTs aktivieren, werden zusätzliche PDT-Felder und der Bereich PDT-Überschreibungen für die Verbindung angezeigt.
    • Temporäre Datenbank: Geben Sie den Namen des Ausgabeverzeichnisses in Ihrem S3-Bucket an, in das Looker Ihre PDTs schreiben soll. Der vollständige Pfad zu Ihrem Ausgabeverzeichnis muss im Feld Zusätzliche JDBC-Parameter angegeben werden. Weitere Informationen finden Sie im Abschnitt S3-Bucket für die Ausgabe von Abfrageergebnissen und PDTs angeben auf dieser Seite.
    • Max. Anzahl der Verbindungen für PDT-Generator: Geben Sie die Anzahl der möglichen gleichzeitigen PDT-Builds für diese Verbindung an. Wenn Sie diesen Wert zu hoch festlegen, kann sich dies 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 im Abschnitt S3-Bucket für die Ausgabe von Abfrageergebnissen und PDTs angeben auf dieser Seite.
      • Flag für das Streaming von Ergebnissen. Wenn die athena:GetQueryResultsStream Richtlinie an Ihren Athena-Nutzer angehängt ist, können Sie ;UseResultsetStreaming=1 am Ende Ihrer zusätzlichen JDBC-Parameter hinzufügen, um die Leistung 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 sollen. Eine Liste der von Looker unterstützten Parameter finden Sie im Abschnitt Unterstützte JDBC-Parameter auf dieser Seite.
    • SSL: Ignorieren. Standardmäßig werden alle Verbindungen zur AWS API verschlüsselt.
    • Max. Verbindungen pro Knoten: Standardmäßig ist dieser Wert auf 5 festgelegt. Sie können ihn auf bis zu 20 erhöhen, wenn Looker die Hauptabfrage-Engine ist, die für Athena ausgeführt wird. Weitere Informationen zu den Dienstlimits finden Sie in der Dokumentation zu den 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 festgelegt. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • SQL Runner Precache: Deaktivieren Sie diese Option, wenn SQL Runner Tabelleninformationen nur nach Auswahl einer Tabelle laden soll. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • Datenbankzeitzone: Geben Sie die in der Datenbank verwendete Zeitzone an. Lassen Sie dieses Feld leer, wenn Sie keine Zeitzonenkonvertierung wünschen. Weitere Informationen finden Sie auf der Dokumentationsseite Zeitzoneneinstellungen verwenden.

Klicken Sie auf Test , um zu prüfen, ob die Verbindung erfolgreich hergestellt wurde. Informationen zur Fehlerbehebung finden Sie auf der Dokumentationsseite Datenbankverbindung für vom Kunden gehostete Instanzen 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 Ausgabe von Abfrageergebnissen verwendet, und um den Namen des Ausgabeverzeichnisses im S3-Bucket anzugeben, in das 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 von 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 unter JDBC Driver Options.

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 <s3-bucket> Verzeichnis haben.

Wenn Sie das Verzeichnis konfigurieren möchten, in das Looker PDTs schreiben soll, geben Sie im Feld Temporäre Datenbank den Pfad des Verzeichnisses im S3-Bucket ein. Wenn Looker beispielsweise PDTs in s3://<s3-bucket>/looker_scratch schreiben soll, geben Sie Folgendes in das Feld Temporäre Datenbank ein:

`looker_scratch`

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

Hinweise zum S3-Bucket

Es wird empfohlen, Amazon S3-Objektlebenszyklen zu konfigurieren, um nicht benötigte Dateien in Ihrem angegebenen S3-Bucket regelmäßig zu entfernen. Dafür gibt es mehrere Gründe:

  • Athena speichert die Abfrageergebnisse für jede Abfrage in einem S3-Bucket. Weitere Informationen finden Sie unter Athena-Abfragen.
  • Wenn Sie PDTs aktiviert haben, werden beim Erstellen einer PDT Metadaten zur erstellten Tabelle im S3-Bucket gespeichert.

Ressourcen

Unterstützte JDBC-Parameter

Für Amazon Athena unterstützt Looker die folgenden JDBC-Parameter im Zusätzliche JDBC-Parameter Feld für die Verbindung. Informationen zu diesen Parametern finden Sie in der Dokumentation zu Ihrer Datenbank.

  • ApplicationName
  • AwsCredentialsProviderArguments
  • AwsCredentialsProviderClass
  • AwsRegion
  • Catalog
  • Database
  • EnableResultReuseByAge
  • EndPointOverride
  • LogLevel
  • MaxQueryExecutionPollingInterval
  • maxResultReuseAgeInMinutes
  • MetadataRetrievalMethod
  • MinQueryExecutionPollingInterval
  • OutputLocation
  • password
  • ProxyHost
  • ProxyPort
  • ProxyPWD
  • ProxyUID
  • QueryExecutionPollingIntervalMultiplier
  • Region
  • ResultFetcher
  • ResultReuseByAgeConfiguration
  • s3_staging_dir
  • S3OutputEncOption
  • S3OutputLocation
  • Schema
  • user
  • UseResultsetStreaming
  • WorkGroup

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

Funktion Unterstützt?
Looker (Google Cloud Core)
Symmetrische Aggregate
Abgeleitete Tabellen
Persistente abgeleitete SQL-Tabellen
Persistente native abgeleitete Tabellen
Stabile Ansichten
Abfrageeabruch
SQL-basierte Pivottabellen
Zeitzonen
SSL
Zwischensummen
Zusätzliche JDBC-Parameter
Groß- und Kleinschreibung
Standorttyp
Listentyp
Perzentil
Perzentil der unterschiedlichen Werte
SQL Runner-Befehl – Prozesse anzeigen
SQL-Runner-Funktion – Tabelle beschreiben
SQL Runner-Befehl – Indexe anzeigen
SQL Runner-Befehl – 10 auswählen
SQL-Runner – Anzahl
SQL – Erklären
OAuth 2.0-Anmeldedaten
Kontextkommentare
Verbindungs-Pooling
HLL-Skizzen
Aggregate Awareness
Inkrementelle PDTs
Millisekunden
Mikrosekunden
Materialisierte Ansichten
Vergleich zum vorherigen Zeitraum
Ungefähre Anzahl einzelner Aufrufe
Benutzerdefinierte Kalender

Nächste Schritte

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