Classe DynamicFrameWriter - AWS Glue

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Classe DynamicFrameWriter

  Métodos

__init__

__init__(glue_context)

from_options

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

Escreve um DynamicFrame usando a conexão e o formato especificados.

  • frame – O DynamicFrame a ser escrito.

  • connection_type: o tipo de conexão. Os valores válidos incluem s3, mysql, postgresql, redshift, sqlserver e oracle.

  • connection_options – Opções de conexão, como caminho e tabela de banco de dados (opcional). Para um connection_type do s3, um caminho do Amazon S3 é definido.

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

    Para conexões JDBC, várias propriedades devem ser definidas. Observe que o nome do banco de dados deve fazer parte do URL. Ele também pode ser incluído nas opções de conexão.

    Atenção

    Não é recomendável armazenar senhas no script. Considere usar boto3 para recuperá-los do AWS Secrets Manager ou do catálogo de dados do AWS Glue.

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

    A propriedade dbtable é o nome da tabela JDBC. Para armazenamentos de dados JDBC que oferecem suporte a esquemas dentro de um banco de dados, especifique schema.table-name. Se um esquema não for fornecido, o esquema "público" padrão será usado.

    Para ter mais informações, consulte Tipos e opções de conexão para ETL no AWS Glue para Spark.

  • format: uma especificação de formato (opcional). Essa ação é usada para um Amazon Simple Storage Service (Amazon S3) ou uma conexão do AWS Glue que ofereça suporte a vários formatos. Consulte Opções de formato de dados para entradas e saídas no AWS Glue para Spark para obter os formatos compatíveis.

  • format_options: as opções de formato para o formato especificado. Consulte Opções de formato de dados para entradas e saídas no AWS Glue para Spark para obter os formatos compatíveis.

  • transformation_ctx – Um contexto de transformação a ser usado (opcional).

from_catalog

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

Escreve um DynamicFrame usando o banco de dados do catálogo e o nome da tabela especificados.

  • frame – O DynamicFrame a ser escrito.

  • name_space – O mecanismo de banco de dados a ser usado.

  • table_name – O table_name a ser usado.

  • redshift_tmp_dir: um diretório temporário do Amazon RedShift a ser usado (opcional).

  • transformation_ctx – Um contexto de transformação a ser usado (opcional).

  • additional_options: opções adicionais fornecidas ao AWS Glue.

    Para gravar em tabelas governadas pelo Lake Formation, você pode usar estas opções adicionais:

    • transactionId: (string) o ID da transação no qual fazer a gravação na tabela governada. Esta transação já não pode ser confirmada ou anulada, ou a gravação falhará.

    • callDeleteObjectsOnCancel : (booleano, opcional) Se definido como true (padrão), o AWS Glue chama automaticamente a API DeleteObjectsOnCancel após o objeto ser gravado no Amazon S3. Para obter mais informações, consulte DeleteObjectsOnCancel no Guia do desenvolvedor do AWS Lake Formation.

    exemplo Exemplo: gravação em uma tabela governada no 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="")

Escreve um DynamicFrame usando as informações de conexão JDBC especificadas.

  • frame – O DynamicFrame a ser escrito.

  • catalog_connection – Uma conexão de catálogo a ser usada.

  • connection_options – Opções de conexão, como caminho e tabela de banco de dados (opcional).

  • redshift_tmp_dir: um diretório temporário do Amazon RedShift a ser usado (opcional).

  • transformation_ctx – Um contexto de transformação a ser usado (opcional).

Exemplo para write_dynamic_frame

Este exemplo grava a saída localmente usando um connection_type do S3 com um argumento de caminho POSIX em connection_options, o que permite gravar no armazenamento local.

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