Classe DynamicFrameWriter - AWS Glue

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Classe DynamicFrameWriter

  Metodi

__init__

__init__(glue_context)

from_options

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

Scrive un DynamicFrame usando la connessione e il formato specificati.

  • frame: il DynamicFrame da scrivere.

  • connection_type: il tipo di connessione. I valori validi sono s3, mysql, postgresql, redshift, sqlserver e oracle.

  • connection_options: opzioni di connessione, come tabella di database e percorso (opzionale). Per un connection_type di s3 è definito un percorso Amazon S3.

    connection_options = {"path": "s3://aws-glue-target/temp"}

    Per le connessioni JDBC, diverse proprietà devono essere definite. Il nome del database deve fare parte dell'URL. Puoi opzionalmente essere incluso nelle opzioni di connessione.

    avvertimento

    Si consiglia di non archiviare le password nello script. Valuta la possibilità di utilizzare boto3 per recuperarle da AWS Secrets Manager o da Catalogo dati AWS Glue.

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

    La proprietà dbtable è il nome della tabella JDBC. Per i archivi dati JDBC che supportano schemi all'interno di un database, specifica schema.table-name. Se non viene fornito alcuno schema, viene usato lo schema "pubblico" predefinito.

    Per ulteriori informazioni, consulta Tipi e opzioni di connessione per ETL in AWS Glue per Spark.

  • format: una specifica del formato (facoltativa). Viene utilizzato per un servizio Amazon Simple Storage Service (Amazon S3) o una connessione AWS Glue che supporta più formati. Consulta Opzioni del formato dati per input e output in AWS Glue per Spark per informazioni sui formati supportati.

  • format_options: opzioni di formato per il formato specificato. Consulta Opzioni del formato dati per input e output in AWS Glue per Spark per informazioni sui formati supportati.

  • transformation_ctx: un contesto di trasformazione da usare (opzionale).

from_catalog

from_catalog(frame, name_space, table_name, redshift_tmp_dir="", transformation_ctx="")

Scrive un DynamicFrame utilizzando il nome della tabella e il database del catalogo specificati.

  • frame: il DynamicFrame da scrivere.

  • name_space: il database da usare.

  • table_name: il table_name da usare.

  • redshift_tmp_dir: una directory temporanea Amazon Redshift da usare (opzionale).

  • transformation_ctx: un contesto di trasformazione da usare (opzionale).

  • additional_options: opzioni aggiuntive fornite a AWS Glue.

    Per scrivere su tabelle governate da Lake Formation, è possibile utilizzare queste opzioni aggiuntive:

    • transactionId: (stringa) l'ID transazione in cui eseguire la scrittura nella tabella Governed. Di questa transazione non può essere già stato eseguito il commit, né può essere interrotta, diversamente la scrittura non andrà a buon fine.

    • callDeleteObjectsOnCancel : (booleano, facoltativo) Se impostato su true (default), AWS Glue chiama automaticamente l'API DeleteObjectsOnCancel dopo che l'oggetto è stato scritto su Amazon S3. Per ulteriori informazioni, consulta DeleteObjectsOnCancel nella Guida per gli sviluppatori di AWS Lake Formation.

    Esempio: scrittura su una tabella governata in Lake Formation
    txId = glueContext.start_transaction(read_only=False) glueContext.write_dynamic_frame.from_catalog( frame=dyf, database = db, table_name = tbl, transformation_ctx = "datasource0", additional_options={"transactionId":txId}) ... glueContext.commit_transaction(txId)

from_jdbc_conf

from_jdbc_conf(frame, catalog_connection, connection_options={}, redshift_tmp_dir = "", transformation_ctx="")

Scrive un DynamicFrame usando le informazioni sulla connessione JDBC specificate.

  • frame: il DynamicFrame da scrivere.

  • catalog_connection: una connessione del catalogo da utilizzare.

  • connection_options: opzioni di connessione, come tabella di database e percorso (opzionale).

  • redshift_tmp_dir: una directory temporanea Amazon Redshift da usare (opzionale).

  • transformation_ctx: un contesto di trasformazione da usare (opzionale).

Esempio di write_dynamic_frame

Questo esempio scrive l'output localmente utilizzando un connection_type di S3 con un argomento percorso POSIX in connection_options, che consente di scrivere su storage locale.

glueContext.write_dynamic_frame.from_options(\ frame = dyf_splitFields,\ connection_options = {'path': '/home/glue/GlueLocalOutput/'},\ connection_type = 's3',\ format = 'json')