DynamicFrameReader classe - 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á.

DynamicFrameReader classe

 — métodos —

__init__

__init__(glue_context)

from_rdd

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

Lê um DynamicFrame de um Conjunto de dados resiliente distribuído (RDD).

  • data – O conjunto de dados onde a leitura será feita.

  • name – O nome onde a leitura será feita.

  • schema – O esquema a ser lido (opcional).

  • sampleRatio – A proporção da amostra (opcional).

from_options

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

Lê um DynamicFrame usando a conexão e o formato especificados.

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

  • connection_options – Opções de conexão, como caminho e tabela de banco de dados (opcional). Para obter mais informações, consulte Tipos e opções de conexão para ETL no AWS Glue for Spark. Para um connection_type do s3, os caminhos do Amazon S3 são definidos em uma matriz.

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

    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 AWS Glue Data Catalog.

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

    Para uma conexão JDBC que realiza leituras paralelas, você pode definir a opção hashfield. Por exemplo:

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

    Para ter mais informações, consulte Leitura de tabelas JDBC em paralelo.

  • 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 – O contexto de transformação a ser usado (opcional).

  • push_down_predicate: filtra partições sem a necessidade de listar e ler todos os arquivos no seu conjunto de dados. Para obter mais informações, consulte Pré-filtragem usando a aplicação de predicados.

from_catalog

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

Lê um DynamicFrame usando o namespace do catálogo e o nome da tabela especificados.

  • database – O banco de dados onde a leitura será feita.

  • table_name – O nome da tabela onde a leitura será feita.

  • redshift_tmp_dir: um diretório temporário do Amazon Redshift a ser usado (opcional se não estiver lendo dados do Redshift).

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

  • push_down_predicate: filtra partições sem a necessidade de listar e ler todos os arquivos no seu conjunto de dados. Para ter mais informações, consulte Pré-filtragem usando a aplicação de predicados.

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

    • Para usar uma conexão JDBC que realiza leituras paralelas, você pode definir as opções hashfield, hashexpression ou hashpartitions. Por exemplo:

      additional_options = {"hashfield": "month"}

      Para ter mais informações, consulte Leitura de tabelas JDBC em paralelo.

    • Para transmitir uma expressão de catálogo para filtrar com base nas colunas de índice, você pode consultar o opção catalogPartitionPredicate.

      catalogPartitionPredicate: você pode transmitir uma expressão de catálogo para filtrar com base nas colunas de índice. Isso leva a filtragem para o lado do servidor. Para obter mais informações, consulte Índices de partição do AWS Glue. Observe que push_down_predicate e catalogPartitionPredicate usam sintaxes diferentes. O primeiro usa a sintaxe padrão do Spark SQL e o outro usa o analisador JSQL.

      Para ter mais informações, consulte Gerenciar partições para saída de ETL no AWS Glue.