DynamicFrameReader clase - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

DynamicFrameReader clase

 — métodos —

__init__

__init__(glue_context)

from_rdd

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_options

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 y opciones de conexión para ETL en AWS Glue for Spark. Para un connection_type de s3, se definen las rutas de Amazon S3 en una matriz.

    connection_options = {"paths": [ "s3://mybucket/object_a", "s3://mybucket/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 utilizarlos boto3 para recuperarlos del AWS Secrets Manager catálogo de datos de AWS Glue.

    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.

  • 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 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 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.

from_catalog

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.

  • 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.

    • 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. 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.