Amazon Athena

Looker unterstützt Verbindungen zu Amazon Athena, einem interaktiven Abfragedienst, mit dem sich Daten in Amazon S3 mithilfe von Standard-SQL ganz einfach analysieren lassen. Amazon Athena ist serverlos, sodass Sie keine Infrastruktur verwalten müssen. Ihnen 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 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 aufgrund einer Rolle oder eines Berechtigungssatzes sowie durch Firewallregeln Zugriff auf diesen S3-Bucket haben. Fügen Sie dem S3-Bucket keine Sicherheitsregeln für die IP-Adresse von Looker hinzu, da dadurch versehentlich der Zugriff von Amazon Athena auf den S3-Bucket blockiert wird. (Für andere Dialekte neben Amazon Athena möchten Nutzer möglicherweise den Zugriff auf die Daten aus der Netzwerkebene mithilfe einer IP-Zulassungsliste einschränken, wie auf der Dokumentationsseite Sicheren Datenbankzugriff aktivieren beschrieben.)

    • Wissen, wo sich die Amazon Athena-Instanzdaten befinden. Den Namen der Region finden Sie oben rechts in 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 in LookML-Projekten auf die Verbindung.
    • Dialekt: Wählen Sie Amazon Athena aus.
    • Host:Port: Geben Sie den Namen des Hosts und des Ports an. Wie in der Athena-Dokumentation zum JDBC-URL-Format beschrieben, sollte der Host 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 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 ID des AWS-Zugriffsschlüssels an.
    • Passwort: Geben Sie den AWS-Secret-Zugriffsschlüssel an.
    • Persistent abgeleitete Tabellen: Setzen Sie ein Häkchen bei „PDTs aktivieren“.
    • Temp Database: Geben Sie den Namen des Ausgabeverzeichnisses in Ihrem S3-Bucket an, in den Looker Ihre PDTs schreiben soll. Der vollständige Pfad zu Ihrem Ausgabeverzeichnis muss im Feld Zusätzliche Parameter angegeben werden. Weitere Informationen finden Sie auf dieser Seite im Abschnitt S3-Bucket für die Ausgabe von Abfrageergebnissen und PDTs angeben.
    • Max. PDT-Builder-Verbindungen: Geben Sie die Anzahl der möglichen gleichzeitigen PDT-Builds für diese Verbindung an. Ein zu hoher Wert kann sich negativ auf die Abfragezeiten auswirken. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • Zusätzliche 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 Streamingergebnisse. Wenn Sie mit Ihrer Athena-Nutzerin die athena:GetQueryResultsStream-Richtlinie verknüpft haben, können Sie ;UseResultsetStreaming=1 am Ende der zusätzlichen Parameter einfügen, um die Leistung der Extraktion großer Ergebnismengen erheblich zu verbessern. Dieser Parameter ist standardmäßig auf 0 festgelegt.
      • Optionale zusätzliche Parameter, die dem JDBC-Verbindungsstring hinzugefügt werden.
    • SSL: Ignorieren. Standardmäßig werden alle Verbindungen zur AWS API verschlüsselt.
    • Max. Verbindungen: Der Standardwert ist 5. Sie können diesen Wert auf bis zu 20 erhöhen, wenn Looker das Hauptabfragemodul für Athena ist. Weitere Informationen 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 der SQL Runner nur dann Tabelleninformationen laden soll, wenn eine Tabelle ausgewählt ist. Weitere Informationen finden Sie auf der Dokumentationsseite Looker mit Ihrer Datenbank verbinden.
    • Zeitzone der Datenbank: Geben Sie die Zeitzone an, die in der Datenbank verwendet wird. Lassen Sie dieses Feld leer, wenn keine Währungsumrechnung erfolgen soll. Weitere Informationen finden Sie auf der Dokumentationsseite Einstellungen für die Zeitzone verwenden.

In diesem Leitfaden finden Sie weitere Informationen zu benutzerdefinierten JDBC-Konfigurationen und anderen Konfigurationsinformationen.

S3-Bucket für die Ausgabe von Abfrageergebnissen und PDTs festlegen

Verwenden Sie das Feld Zusätzliche Parameter auf der Seite Verbindungen, um den Pfad zum S3-Bucket zu konfigurieren, den Looker zum Speichern der Abfrageergebnisse verwendet, und um den Namen des Ausgabeverzeichnisses im S3-Bucket anzugeben, in den Looker PDTs schreiben soll. Geben Sie diese Informationen mithilfe des Parameters s3_staging_dir an.

Der JDBC-Parameter s3_staging_dir ist eine alternative Möglichkeit, die Amazon Athena-Property S3OutputLocation zu konfigurieren, die für Athena-JDBC-Verbindungen erforderlich ist. Weitere Informationen und eine Liste aller verfügbaren JDBC-Treiberoptionen finden Sie in der Dokumentation zu Athena in JDBC-Treibern.

Geben Sie im Feld Zusätzliche Parameter den Parameter s3_staging_dir im folgenden Format ein:

`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.

Um das Verzeichnis zu konfigurieren, in das Looker PDTs schreibt, geben Sie im 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 Parameter eingeben.

Hinweise zu S3-Buckets

Es wird empfohlen, den Amazon S3-Objektlebenszyklus so zu konfigurieren, dass nicht benötigte Dateien regelmäßig im angegebenen S3-Bucket bereinigt werden. Das kann folgende Gründe haben:

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

Ressourcen

Debugging

Amazon bietet die JDBC-Treiberoptionen LogLevel und LogPath für das Debugging von Verbindungen. Fügen Sie am Ende des Feldes Additional Params (Zusätzliche Parameter) ;LogLevel=DEBUG;LogPath=/tmp/athena_debug.log hinzu und testen Sie die Verbindung noch einmal.

Wenn Looker die Instanz hostet, 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.

In der neuesten Version von Looker unterstützt Amazon Athena die folgenden Looker-Funktionen:

Nächste Schritte

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