Tipos de extensión PySpark - AWS Glue

Tipos de extensión PySpark

Los tipos usados por las extensiones PySpark de AWS Glue.

DataType

La clase base para los otros tipos de AWS Glue.

__init__(properties={})

  • properties: propiedades del tipo de datos (opcional).

typeName(cls)

Devuelve el tipo de la clase de tipo de AWS Glue (es decir, el nombre de la clase con "Type" eliminado del final).

  • cls: una instancia de clase de AWS Glue derivada de DataType.

jsonValue( )

Devuelve un objeto JSON que contiene las propiedades y los tipos de datos de la clase:

{ "dataType": typeName, "properties": properties }

AtomicType y derivados sencillos

Se hereda de la clase DataType y la amplía, además de servir como clase base para todos los tipos de datos atómicos de AWS Glue.

fromJsonValue(cls, json_value)

Inicializa una instancia de la clase con valores a partir de un objeto JSON.

  • cls: una instancia de la clase de tipo de AWS Glue que se va a inicializar.

  • json_value: objeto JSON desde el que se van a cargar pares clave-valor.

Los siguientes tipos son derivados sencillos de la clase AtomicType:

  • BinaryType – Datos binarios.

  • BooleanType: valores booleanos.

  • ByteType: un valor de byte.

  • DateType: un valor datetime.

  • DoubleType: un valor doble de punto flotante.

  • IntegerType – Un valor entero.

  • LongType: un valor entero largo.

  • NullType: un valor nulo.

  • ShortType: un valor entero corto.

  • StringType: una cadena de texto.

  • TimestampType: un valor de marca temporal (normalmente en segundos desde el 01/01/1970).

  • UnknownType: un valor de tipo no identificado.

DecimalType(AtomicType)

Se hereda de la clase AtomicType y la amplía para representar un número decimal (un número expresado en dígitos decimales, en contraposición a los números de base 2 binarios).

__init__(precision=10, scale=2, properties={})

  • precision: el número de dígitos en el número decimal (opcional; el valor predeterminado es 10).

  • scale: el número de dígitos situados a la derecha del punto decimal (opcional; el valor predeterminado es 2).

  • properties: las propiedades del número decimal (opcional).

EnumType(AtomicType)

Se hereda de la clase AtomicType y la amplía para representar una enumeración de opciones válidas.

__init__(options)

  • options: una lista de las opciones que se enumeran.

 Tipos de colección

ArrayType(DataType)

__init__(elementType=UnknownType(), properties={})

  • elementType: el tipo de elementos en la matriz (opcional; el valor predeterminado es UnknownType).

  • properties: propiedades de la matriz (opcional).

ChoiceType(DataType)

__init__(choices=[], properties={})

  • choices: una lista de posibles opciones (opcional).

  • properties: propiedades de estas opciones (opcional).

add(new_choice)

Añade una nueva opción a la lista de posibles opciones.

  • new_choice: la opción que se va a añadir a la lista de posibles opciones.

merge(new_choices)

Combina una lista de nuevas opciones con la lista de opciones existente.

  • new_choices: una lista de nuevas opciones que se van a combinar con las opciones existentes.

MapType(DataType)

__init__(valueType=UnknownType, properties={})

  • valueType: el tipo de valores en el mapa (opcional; el valor predeterminado es UnknownType).

  • properties: propiedades del mapa (opcional).

Field(Object)

Crea un objeto de campo fuera de un objeto que deriva de DataType.

__init__(name, dataType, properties={})

  • name: el nombre que se va a asignar al campo.

  • dataType: el objeto a partir del cual se va a crear un campo.

  • properties: propiedades del campo (opcional).

StructType(DataType)

Define una estructura de datos (struct).

__init__(fields=[], properties={})

  • fields: una lista de los campos (de tipo Field) que se va a incluir en la estructura (opcional).

  • properties: propiedades de la estructura (opcional).

add(field)

  • field: un objeto de tipo Field para añadir a la estructura.

hasField(field)

Devuelve True si esta estructura tiene un campo del mismo nombre, o False si no.

  • field: un nombre de campo o un objeto de tipo Field cuyo nombre se usa.

getField(field)

  • field: un nombre de campo o un objeto de tipo Field cuyo nombre se usa. Si la estructura tiene un campo del mismo nombre, se devuelve.

(EntityType DataType)

__init__(entity, base_type, properties)

Esta clase no se ha implementado aún.

 Otros Tipos

DataSource(object)

__init__(j_source, sql_ctx, name)

  • j_source: el origen de datos.

  • sql_ctx: el contexto SQL.

  • name: el nombre de origen de datos.

setFormat(format, **options)

  • format: el formato que se va a establecer para el origen de datos.

  • options: un conjunto de opciones que se va a establecer para el origen de datos.

getFrame()

Devuelve un DynamicFrame para el origen de datos.

DataSink(object)

__init__(j_sink, sql_ctx)

  • j_sink: el receptor que se va a crear.

  • sql_ctx: el contexto SQL para el receptor de datos.

setFormat(format, **options)

  • format: el formato que se va a establecer para el receptor de datos.

  • options: un conjunto de opciones que se va a establecer para el receptor de datos.

setAccumulableSize(size)

  • size: el tamaño acumulable que se va a establecer, en bytes.

writeFrame(dynamic_frame, info="")

  • dynamic_frame – el DynamicFrame que se va a escribir.

  • info: información acerca del DynamicFrame (opcional).

write(dynamic_frame_or_dfc, info="")

Escribe un DynamicFrame o DynamicFrameCollection.

  • dynamic_frame_or_dfc: un objeto DynamicFrame o DynamicFrameCollection que se van a escribir.

  • info: información acerca de los DynamicFrame o DynamicFrames que se van a escribir (opcional).