

# Tipos de extensión PySpark
<a name="aws-glue-api-crawler-pyspark-extensions-types"></a>

Los tipos usados por las extensiones PySpark de AWS Glue.

## DataType
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-datatype"></a>

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
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-atomictype"></a>

Se hereda de la clase [DataType](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-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](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-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)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-decimaltype"></a>

Se hereda de la clase [AtomicType](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-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)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-enumtype"></a>

Se hereda de la clase [AtomicType](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-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
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-collections"></a>
+ [ArrayType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-arraytype)
+ [ChoiceType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-choicetype)
+ [MapType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-maptype)
+ [Field(Object)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-field)
+ [StructType(DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-structtype)
+ [(EntityType DataType)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-entitytype)

## ArrayType(DataType)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-arraytype"></a>

**`__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)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-choicetype"></a>

**`__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)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-maptype"></a>

**`__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)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-field"></a>

Crea un objeto de campo fuera de un objeto que deriva de [DataType](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-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)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-structtype"></a>

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)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-entitytype"></a>

`__init__(entity, base_type, properties)`

Esta clase no se ha implementado aún.

##  otros tipos
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-other-types"></a>
+ [DataSource(object)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-source)
+ [DataSink(object)](#aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-sink)

## DataSource(object)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-source"></a>

**`__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. Para obtener más información sobre las opciones de formato, consulte [Opciones de formato de datos para las entradas y las salidas en AWS Glue para Spark](aws-glue-programming-etl-format.md).

 

`getFrame()`

Devuelve un `DynamicFrame` para el origen de datos.

## DataSink(object)
<a name="aws-glue-api-crawler-pyspark-extensions-types-awsglue-data-sink"></a>

**`__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. Para obtener más información sobre las opciones de formato, consulte [Opciones de formato de datos para las entradas y las salidas en AWS Glue para Spark](aws-glue-programming-etl-format.md).

 

**`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).