Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Schnellstart: Abfragen von Daten in Amazon S3
Benutzer können in Amazon S3 gespeicherte Daten analysieren, indem sie mithilfe der SQL-Erweiterung SQL-Abfragen von JupyterLab Notebooks aus ausführen. Die Erweiterung lässt sich in Athena integrieren und ermöglicht die Funktionalität für Daten in Amazon S3 mit ein paar zusätzlichen Schritten.
Dieser Abschnitt führt Sie durch die Schritte, um Daten aus Amazon S3 in Athena zu laden und diese Daten dann JupyterLab mithilfe der SQL-Erweiterung abzufragen. Sie erstellen eine Athena-Datenquelle und einen AWS Glue Crawler, um Ihre Amazon S3-Daten zu indizieren, die richtigen IAM-Berechtigungen für den JupyterLab Zugriff auf Athena zu konfigurieren und eine Verbindung zu Athena herzustellen, JupyterLab um die Daten abzufragen. Nach diesen wenigen Schritten können Sie Amazon S3-Daten mithilfe der SQL-Erweiterung in Notebooks analysieren. JupyterLab
Voraussetzungen
-
Melden Sie sich mit einem AWS Identity and Access Management (IAM-) Benutzerkonto mit Administratorrechten bei der AWS Management Console an. Informationen darüber, wie Sie sich für ein AWS -Konto registrieren und einen Benutzer mit Administratorzugriff erstellen, finden Sie unter Erfüllen Sie die Voraussetzungen für Amazon SageMaker AI.
-
Haben Sie eine SageMaker AI-Domäne und ein Benutzerprofil, um auf SageMaker Studio zuzugreifen. Informationen zum Einrichten einer SageMaker KI-Umgebung finden Sie unterVerwenden Sie das Schnell-Setup für Amazon SageMaker AI.
-
Verfügen Sie über einen Amazon S3-Bucket und einen Ordner zum Speichern der Athena-Abfrageergebnisse. Verwenden Sie dabei dieselbe AWS Region und dasselbe Konto wie Ihre SageMaker KI-Umgebung. Informationen zum Erstellen eines Buckets in Amazon S3 finden Sie unter Erstellen eines Buckets in der Amazon-S3-Dokumentation. Sie konfigurieren diesen Bucket und Ordner als Speicherort für die Abfrageausgabe.
So greifen Sie auf Ihre Daten in Amazon S3 zu und fragen sie ab:
Schritt 1: Richten Sie eine Athena-Datenquelle ein und AWS Glue Crawler für Ihre Amazon S3-Daten
Gehen Sie wie folgt vor, um Ihre Daten in Amazon S3 zu indizieren und Tabellen in Athena zu erstellen.
Anmerkung
Um Kollisionen zwischen Tabellennamen aus verschiedenen Amazon-S3-Standorten zu vermeiden, erstellen Sie für jeden Standort eine separate Datenquelle und einen separaten Crawler. Jede Datenquelle erstellt eine Tabelle, die nach dem Ordner benannt ist, der sie enthält, sofern sie nicht mit einem Präfix versehen ist.
-
Konfigurieren eines Speicherorts von
-
Gehen Sie zur Athena-Konsole:. https://console.aws.amazon.com/athena/
-
Wählen Sie im linken Menü Arbeitsgruppen aus.
-
Folgen Sie dem Link für die
primaryArbeitsgruppe und wählen Sie Bearbeiten. -
Geben Sie im Abschnitt Konfiguration der Abfrageergebnisse den Amazon-S3-Pfad für Ihr Ausgabeverzeichnis ein und wählen Sie dann Änderungen speichern aus.
-
-
Erstellen Sie eine Athena-Datenquelle für Ihre Amazon-S3-Daten
-
Wählen Sie im linken Menü der Athena-Konsole Datenquellen und dann Datenquelle erstellen aus.
-
Wählen Sie S3 — AWS Glue Datenkatalog und dann Weiter.
-
Behalten Sie den AWS Glue Standarddatenkatalog in diesem Konto bei, wählen Sie Create a Crawler in AWS Glue und dann Create in AWS Glue. Dadurch wird die AWS Glue Konsole geöffnet.
-
-
Wird verwendet AWS Glue , um Ihre Datenquelle zu crawlen
-
Geben Sie einen Namen und eine Beschreibung für den Crawler ein und wählen Sie dann Weiter aus.
-
Wählen Sie für Datenquellen Datenquelle hinzufügen aus.
-
Wenn sich der Amazon Amazon S3-Bucket, der Ihre Daten enthält, in einem anderen AWS Konto als Ihre SageMaker KI-Umgebung befindet, wählen Sie In einem anderen Konto als Speicherort der S3-Daten aus.
-
Geben Sie den Pfad zu Ihrem Datensatz in Amazon S3 ein. Beispiel:
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/ -
Behalten Sie alle anderen Standardwerte bei und wählen Sie dann Add an Amazon S3 data source (Amazon-S3-Datenquelle hinzufügen) aus. Sie sollten nun eine neue Amazon-S3-Datenquelle in der Tabelle „Datenquellen“ sehen.
-
Wählen Sie Weiter aus.
-
-
Konfigurieren Sie die IAM-Rolle, damit der Crawler auf Ihre Daten zugreifen kann.
Anmerkung
Jede Rolle ist auf die von Ihnen angegebene Datenquelle beschränkt. Wenn Sie eine Rolle wiederverwenden, bearbeiten Sie die JSON-Richtlinie, um jede neue Ressource hinzuzufügen, auf die Sie Zugriff gewähren möchten, oder erstellen Sie eine neue Rolle für diese Datenquelle.
-
Klicken Sie auf Neue IAM-Rolle erstellen.
-
Geben Sie einen Namen für die Rolle ein und wählen Sie dann Weiter aus.
-
-
-
Erstellen Sie eine Datenbank für Ihre Tabellen oder wählen Sie sie aus
-
Wenn Sie noch keine Datenbank in Athena haben, wählen Sie Datenbank hinzufügen und dann Neue Datenbank erstellen.
-
Kehren Sie zur vorherigen Registerkarte für die Crawler-Erstellung zurück und wählen Sie in der Ausgabekonfiguration die Schaltfläche Aktualisieren. Ihre neu erstellte Datenbank sollte jetzt in der Liste angezeigt werden.
-
Wählen Sie Ihre Datenbank aus, fügen Sie unter Tabellennamenpräfix ein optionales Präfix hinzu und wählen Sie dann Weiter.
Anmerkung
Für das vorherige Beispiel, in dem sich Ihre Daten befinden
s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/,taxi-ride-wird durch Hinzufügen des Präfixes eine Tabelle mit dem Namen erstellttaxi-ride-year_2019. Durch das Hinzufügen eines Präfixes können Kollisionen bei Tabellennamen vermieden werden, wenn mehrere Datenspeicherorte Ordner mit identischen Namen haben.
-
-
Wählen Sie Crawler erstellen aus.
-
Führen Sie Ihren Crawler aus, um Ihre Daten zu indizieren. Warten Sie, bis der Crawler-Lauf einen
Completed-Status erreicht hat. Dies kann einige Minuten dauern.
Um sicherzustellen, dass eine neue Tabelle erstellt wurde, gehen Sie zum linken Menü AWS Glue und wählen Sie Datenbanken und dann Tabellen. Sie sollten jetzt eine neue Tabelle mit Ihren Daten sehen.
Schritt 2: Erteilen der Zugriffsberechtigung auf Athena Studio
In den folgenden Schritten gewähren Sie der Ausführungsrolle Ihres Benutzerprofils Berechtigungen für den Zugriff auf Athena.
-
Den ARN der Ausführungsrolle abrufen, die Ihrem Benutzerprofil zugeordnet ist
-
Gehen Sie zur SageMaker AI-Konsole unter https://console.aws.amazon.com/sagemaker/
und wählen Sie im linken Menü Domains aus. -
Folgen Sie dem Namen für Ihren Domain-Namen.
-
Folgen Sie in der Liste Benutzerprofile dem Namen für Ihr Benutzerprofil.
-
Kopieren Sie auf der Seite mit den Benutzerdetails den ARN der Ausführungsrolle.
-
-
Aktualisieren der Richtlinie der Ausführungsrolle
-
Suchen Sie oben rechts in der SageMaker AI-Konsole nach Ihrer AWS Region und Konto-ID. Verwenden Sie diese Werte und Ihren Datenbanknamen, um die Platzhalter in der folgenden JSON-Richtlinie in einem Texteditor zu aktualisieren.
-
Gehen Sie zur IAM-Konsole: https://console.aws.amazon.com/iam/
und wählen Sie im linken Menü Rollen aus. -
Suchen Sie anhand des Rollennamens nach Ihrer Rolle.
Anmerkung
Sie können den Namen einer Ausführungsrolle aus ihrem Amazon-Ressourcennamen (ARN) abrufen, indem Sie den ARN aufteilen
'/'und das letzte Element verwenden. Im folgenden Beispiel für einen ARNarn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRolelautet der Name der Ausführungsrolle beispielsweiseSageMakerStudio-SQLExtension-ExecutionRole. -
Folgen Sie dem Link für Ihre Rolle.
-
Wählen Sie auf der Registerkarte Berechtigungen die Optionen Berechtigungen hinzufügen und dann Inline-Richtlinie erstellen aus.
-
Wählen Sie das
JSON-Format im Abschnitt Richtlinieneditor aus. -
Kopieren Sie die obige Richtlinie und wählen Sie dann Weiter. Stellen Sie sicher, dass Sie alle
account-idregion-name, unddb-namedurch ihre Werte ersetzt haben. -
Geben Sie einen Namen für Ihre Richtlinie ein und wählen Sie Richtlinie erstellen aus.
-
Schritt 3: Aktivieren Sie die Athena-Standardverbindung in JupyterLab
In den folgenden Schritten aktivieren Sie eine default-athena-connection in Ihrer JupyterLab Anwendung. Die standardmäßige Athena-Verbindung ermöglicht die Ausführung von SQL-Abfragen in Athena direkt von JupyterLab, ohne dass Sie manuell eine Verbindung herstellen müssen.
Um die standardmäßige Athena-Verbindung zu aktivieren
-
Gehen Sie zur SageMaker AI-Konsole unter https://console.aws.amazon.com/sagemaker/
und wählen Sie im linken Menü Studio. Verwenden Sie Ihre Domain und Ihr Benutzerprofil, und starten Sie Studio. -
Wählen Sie die JupyterLab Anwendung aus.
-
Wenn Sie keinen Bereich für Ihre JupyterLab Anwendung erstellt haben, wählen Sie JupyterLab Bereich erstellen. Geben Sie einen Namen für den Bereich ein, behalten Sie den Status Privat für den Bereich bei und wählen Sie dann Bereich erstellen. Führen Sie Ihren Space mit der neuesten Version des SageMaker AI Distribution-Images aus.
Wählen Sie andernfalls die Option „Speicherplatz auf Ihrem Speicherplatz ausführen“, um eine JupyterLab Anwendung zu starten.
-
Aktivieren Sie die Athena-Standardverbindung:
-
Navigieren Sie in Ihrer JupyterLab Anwendung zum Einstellungsmenü in der oberen Navigationsleiste und öffnen Sie das Menü des Einstellungseditors.
-
Wählen Sie Data Discovery.
-
Markieren Sie das Kästchen für Standard-Athena-Verbindung aktivieren.
-
Wählen Sie in Ihrer JupyterLab Anwendung im linken Navigationsbereich das SQL-Erweiterungssymbol (
), um die SQL-Erweiterung zu öffnen. -
Wählen Sie am unteren Rand des Datenerkennungsfensters die Schaltfläche Aktualisieren
default-athena-connectionIn der Liste der Verbindungen sollte ein angezeigt werden.
-
Schritt 4: Fragen Sie mithilfe der SQL-Erweiterung Daten in Amazon S3 von JupyterLab Notebooks aus ab
Sie sind bereit, Ihre Daten mithilfe von SQL in Ihren JupyterLab Notizbüchern abzufragen.
-
Öffnen Sie die Verbindung
default-athena-connectionund dann AWS DataCatalog. -
Navigieren Sie zu Ihrer Datenbank und wählen Sie das Symbol mit den drei Punkten (
) auf der rechten Seite. Wählen Sie Abfrage im Notebook aus.Dadurch wird automatisch ein Notizbuchfeld JupyterLab mit dem entsprechenden
%%sm_sqlmagischen Befehl gefüllt, um eine Verbindung zur Datenquelle herzustellen. Außerdem wird eine Beispiel-SQL-Anweisung hinzugefügt, damit Sie sofort mit der Abfrage beginnen können.Anmerkung
Stellen Sie sicher, dass Sie die Erweiterung in der obersten Zelle laden, bevor Sie eine SQL-Abfrage ausführen.
Sie können die SQL-Abfrage mithilfe der Funktionen zur automatischen Vervollständigung und Hervorhebung der Erweiterung weiter verfeinern. Weitere Informationen zur Verwendung des SQL-Editors der SQL-Erweiterung finden Sie unter Funktionen des SQL-Editors der JupyterLab SQL-Erweiterung.