DynamicFrameReader Klasse - AWS Glue

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.

DynamicFrameReader Klasse

 – Methoden –

__init__

__init__(glue_context)

from_rdd

from_rdd(data, name, schema=None, sampleRatio=None)

Liest einen DynamicFrame aus einem Resilient Distributed Dataset (RDD).

  • data – Das Dataset, aus dem gelesen werden soll.

  • name – Der Name, der gelesen werden soll.

  • schema – Das zu lesende Schema (optional).

  • sampleRatio – Das Beispielverhältnis (optional).

from_options

from_options(connection_type, connection_options={}, format=None, format_options={}, transformation_ctx="")

Liest einen DynamicFrame mit der angegebenen Verbindung und dem angegebenen Format.

  • connection_type – Der Verbindungstyp. Zu den gültigen Werten gehören s3mysql,postgresql,redshift,sqlserver, oracledynamodb, undsnowflake.

  • connection_options – Verbindungsoptionen, beispielsweise Pfad und Datenbanktabelle (optional). Weitere Informationen finden Sie unter Verbindungstypen und Optionen für ETL in AWS Glue for Spark. Für einen connection_type s3 werden Amazon-S3-Pfade in einem Array definiert.

    connection_options = {"paths": [ "s3://mybucket/object_a", "s3://mybucket/object_b"]}

    Für JDBC-Verbindungen müssen mehrere Eigenschaften definiert werden. Beachten Sie, dass der Datenbankname Teil der URL sein muss. Er kann optional in die Verbindungsoptionen eingeschlossen werden.

    Warnung

    Das Speichern von Passwörtern in Ihrem Skript wird nicht empfohlen. Erwägen Sie, sie boto3 zu verwenden, um sie aus AWS Secrets Manager dem AWS Glue-Datenkatalog abzurufen.

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": passwordVariable,"dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path"}

    Für eine JDBC-Verbindung, die paralleles Lesen durchführt, können Sie die Option Hashfield setzen. Zum Beispiel:

    connection_options = {"url": "jdbc-url/database", "user": "username", "password": passwordVariable,"dbtable": "table-name", "redshiftTmpDir": "s3-tempdir-path" , "hashfield": "month"}

    Weitere Informationen finden Sie unter Parallel aus JDBC-Tabellen lesen.

  • format – Eine Formatspezifikation (optional). Diese wird für einen Amazon Simple Storage Service (Amazon S3) oder eine AWS Glue-Verbindung, die mehrere Formate unterstützt, verwendet. Informationen zu den unterstützten Formaten finden Sie unter Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark.

  • format_options – Formatoptionen für das angegebene Format. Informationen zu den unterstützten Formaten finden Sie unter Mögliche Formate für Eingaben und Ausgaben in AWS Glue für Spark.

  • transformation_ctx – Der zu verwendende Transformationskontext (optional).

  • push_down_predicate – Filtert Partitionen, ohne alle Dateien in Ihrem Datensatz auflisten und lesen zu müssen. Weitere Informationen finden Sie unter Vorabfilterung mit Pushdown-Prädikaten.

from_catalog

from_catalog(database, table_name, redshift_tmp_dir="", transformation_ctx="", push_down_predicate="", additional_options={})

Liest einen DynamicFrame mit dem angegebenen Katalog-Namespace und Tabellennamen.

  • database – Die Datenbank, aus der gelesen werden soll.

  • table_name –Der Name der Tabelle, aus der gelesen werden soll.

  • redshift_tmp_dir – Ein zu verwendendes temporäres Amazon-Redshift-Verzeichnis (optional, wenn keine Daten aus Redshift gelesen werden).

  • transformation_ctx – Der zu verwendende Transformationskontext (optional).

  • push_down_predicate – Filtert Partitionen, ohne alle Dateien in Ihrem Datensatz auflisten und lesen zu müssen. Weitere Informationen finden Sie unter Vorabfilterung mit Pushdown-Prädikaten.

  • additional_options – Zusätzliche Optionen für AWS Glue.

    • Um eine JDBC-Verbindung zu verwenden, die paralleles Lesen durchführt, können Sie die Optionen hashfield, hashexpression oder hashpartitions festlegen. Zum Beispiel:

      additional_options = {"hashfield": "month"}

      Weitere Informationen finden Sie unter Parallel aus JDBC-Tabellen lesen.

    • Sie können einen Katalogausdruck basierend auf den Indexspalten an den Filter übergeben. Sie sehen jetzt die Option catalogPartitionPredicate.

      catalogPartitionPredicate – Sie können einen Katalogausdruck basierend auf den Indexspalten an den Filter übergeben. Dies verlagert die Filterung auf die Serverseite. Weitere Informationen finden Sie unter AWS Glue-Partition-Indizes. Beachten Sie, dass push_down_predicate und catalogPartitionPredicate verschiedene Syntaxen verwenden. Erstere verwendet die Spark-SQL-Standardsyntax und letztere verwendet den JSQL-Parser.

      Weitere Informationen finden Sie unter Verwalten von Partitionen für die ETL-Ausgabe in AWS Glue.