

# Clase 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`: el [Clase GlueContext](aws-glue-api-crawler-pyspark-extensions-glue-context.md) que se va a utilizar.

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

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

Lee un `DynamicFrame` en un conjunto de datos distribuido resistente (RDD).
+ `data`: el conjunto de datos que se leerá.
+ `name`: el nombre donde se efectuará la lectura.
+ `schema`: el esquema que se leerá (opcional).
+ `sampleRatio`: el ratio de muestra (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="")`**

Lee un `DynamicFrame` utilizando la conexión y el formato especificados.
+ `connection_type`: el tipo de conexión. Los valores válidos son `s3`, `mysql`, `postgresql`, `redshift`, `sqlserver`, `oracle`, `dynamodb` y `snowflake`.
+ `connection_options`: opciones de conexión, como la tabla de rutas y bases de datos (opcional). Para obtener más información, consulte [Tipos de conexiones y opciones para ETL en AWS Glue para Spark](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-connect.html). Para un `connection_type` de `s3`, se definen las rutas de Amazon S3 en una matriz.

  ```
  connection_options = {"paths": [ "s3://amzn-s3-demo-bucket/object_a", "s3://amzn-s3-demo-bucket/object_b"]}
  ```

  Para conexiones JDBC, deben definirse varias propiedades. Tenga en cuenta que el nombre de la base de datos debe ser parte de la URL. Opcionalmente, se puede incluir en las opciones de conexión.
**aviso**  
No se recomienda almacenar las contraseñas en el script. Considere utilizar `boto3` para recuperarlas de AWS Secrets Manager o del catálogo de datos de Glue AWS.

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

  Para una conexión JDBC que realiza lecturas en paralelo, puede establecer la opción hashfield. Por ejemplo: 

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

  Para obtener más información, consulte [Lectura desde tablas de JDBC en paralelo](run-jdbc-parallel-read-job.md). 
+ `format`: una especificación de formato (opcional). Se utiliza para Amazon Simple Storage Service (Amazon S3) o una conexión de AWS Glue que admite diversos formatos. Consulte en [Opciones de formato de datos para las entradas y las salidas en AWS Glue para Spark](aws-glue-programming-etl-format.md) los formatos que se admiten.
+ `format_options`: opciones del formato especificado. Consulte en [Opciones de formato de datos para las entradas y las salidas en AWS Glue para Spark](aws-glue-programming-etl-format.md) los formatos que se admiten.
+ `transformation_ctx`: contexto de transformación que se va a utilizar (opcional).
+ `push_down_predicate`: filtra particiones sin tener que enumerar y leer todos los archivos del conjunto de datos. Para obtener más información, consulte [Filtrado previo con predicados de inserción](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={})`**

Lee un `DynamicFrame` utilizando el espacio de nombres del catálogo y un nombre de tabla.
+ `database`: la base de datos de lectura.
+ `table_name`: nombre de la tabla de lectura.
+ `redshift_tmp_dir`: un directorio de Amazon Redshift provisorio que se usará (opcional si no se leen datos de Redshift).
+ `transformation_ctx`: contexto de transformación que se va a utilizar (opcional).
+ `push_down_predicate`: filtra particiones sin tener que enumerar y leer todos los archivos del conjunto de datos. Para obtener más información, consulte [Filtrado previo con predicados de inserción](aws-glue-programming-etl-partitions.md#aws-glue-programming-etl-partitions-pushdowns).
+ `additional_options` – opciones adicionales para AWS Glue. 
  + Para usar una conexión JDBC que realiza lecturas en paralelo, puede establecer las opciones `hashfield`, `hashexpression` o `hashpartitions`. Por ejemplo: 

    ```
    additional_options = {"hashfield": "month"} 
    ```

    Para obtener más información, consulte [Lectura desde tablas de JDBC en paralelo](run-jdbc-parallel-read-job.md). 
  + Para transferir una expresión de catálogo para filtrar en función de las columnas de índice, puede ver la opción `catalogPartitionPredicate`.

    `catalogPartitionPredicate`: puede transferir una expresión de catálogo para filtrar en función de las columnas de índice. Esto inserta el filtrado hacia el lado del servidor. Para obtener más información, consulte [Índices de partición de AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/partition-indexes.html). Tenga en cuenta que `push_down_predicate` y `catalogPartitionPredicate` utilizan sintaxis diferentes. El primero utiliza la sintaxis estándar de Spark SQL y el segundo utiliza el analizador JSQL.

    Para obtener más información, consulte [Administración de particiones para la salida de ETL en AWS Glue](aws-glue-programming-etl-partitions.md). 