

# Classe DynamicFrameReader
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader"></a>

##  — métodos —
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-_methods"></a>
+ [\$1\$1init\$1\$1](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-__init__)
+ [from\$1rdd](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-from_rdd)
+ [from\$1options](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-from_options)
+ [from\$1catalog](#aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-from_catalog)

## \$1\$1init\$1\$1
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-__init__"></a>

**`__init__(glue_context)`**
+ `glue_context` – O [Classe GlueContext](aws-glue-api-crawler-pyspark-extensions-glue-context.md) a ser usado.

## from\$1rdd
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-from_rdd"></a>

**`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\$1options
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-from_options"></a>

**`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 de conexão e opções para ETL no AWS Glue para Spark](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html). Para um `connection_type` do `s3`, os caminhos do Amazon S3 são definidos em uma matriz.

  ```
  connection_options = {"paths": [ "s3://amzn-s3-demo-bucket/object_a", "s3://amzn-s3-demo-bucket/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 catálogo de dados do AWS Glue.

  ```
  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 obter mais informações, consulte [Leitura de tabelas JDBC em paralelo](run-jdbc-parallel-read-job.md). 
+ `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](aws-glue-programming-etl-format.md) 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](aws-glue-programming-etl-format.md) 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](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-partitions.html#aws-glue-programming-etl-partitions-pushdowns).

## from\$1catalog
<a name="aws-glue-api-crawler-pyspark-extensions-dynamic-frame-reader-from_catalog"></a>

**`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 obter mais informações, consulte [Pré-filtragem usando a aplicação de predicados](aws-glue-programming-etl-partitions.md#aws-glue-programming-etl-partitions-pushdowns).
+ `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 obter mais informações, consulte [Leitura de tabelas JDBC em paralelo](run-jdbc-parallel-read-job.md). 
  + 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](https://docs.aws.amazon.com/glue/latest/dg/partition-indexes.html). 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 obter mais informações, consulte [Gerenciar partições para saída de ETL no AWS Glue](aws-glue-programming-etl-partitions.md). 