Tipos de extensão do PySpark - AWS Glue

Tipos de extensão do PySpark

Os tipos usados pelas extensões de PySpark do AWS Glue.

DataType

A classe base para outros tipos do AWS Glue.

__init__(properties={})
  • properties – Propriedades do tipo de dados (opcional).

typeName(cls)

Retorna o tipo da classe do AWS Glue (ou seja, o nome da classe com "Tipo" removido do final).

  • cls – Uma instância de classe do AWS Glue derivada de DataType.

jsonValue( )

Retorna um objeto JSON que contém o tipo de dados e as propriedades da classe:

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

Derivativos AtomicType e Simple

Herda e estende a classe DataType e serve como a classe base para todos os tipos de dados atômicos do AWS Glue.

fromJsonValue(cls, json_value)

Inicializa uma instância de classe com valores de um objeto JSON.

  • cls – Uma instância de classe de tipo do AWS Glue a ser inicializada.

  • json_value – O objeto JSON de onde os pares de valor-chave serão carregados.

Os seguintes tipos são derivados simples da classe AtomicType:

  • BinaryType – Dados binários.

  • BooleanType – Valores boolianos.

  • ByteType – Um valor de bytes.

  • DateType – Um valor de data e hora.

  • DoubleType – Um valor com ponto flutuante duplo.

  • IntegerType – Um valor inteiro.

  • LongType – Um valor inteiro extenso.

  • NullType – Um valor nulo.

  • ShortType – Um valor inteiro curto.

  • StringType – Uma string de texto.

  • TimestampType – Um valor de data e hora (geralmente em segundos, a partir de 01/01/1970).

  • UnknownType – Um valor de tipo não identificado.

DecimalType(AtomicType)

Herda e estende a classe AtomicType para representar um número decimal (um número expresso em dígitos decimais, em oposição aos números binários de base 2).

__init__(precision=10, scale=2, properties={})
  • precision - O número de dígitos no número decimal (opcional; o padrão é 10).

  • scale – O número de dígitos à direita da vírgula decimal (opcional, o padrão é 2).

  • properties – As propriedades do número decimal (opcional).

EnumType(AtomicType)

Herda e estende a classe AtomicType para representar uma enumeração de opções válidas.

__init__(options)
  • options – Uma lista de opções sendo enumeradas.

 tipos de coleção

ArrayType(DataType)

__init__(elementType=UnknownType(), properties={})
  • elementType – O tipo dos elementos na matriz (opcional, o padrão é UnknownType).

  • properties – Propriedades da matriz (opcional).

ChoiceType(DataType)

__init__(choices=[], properties={})
  • choices – Uma lista das opções possíveis (opcional).

  • properties – As propriedades dessas opções (opcional).

add(new_choice)

Adiciona uma nova opção à lista de opções possíveis.

  • new_choice – A opção a ser adicionada à lista de opções possíveis.

merge(new_choices)

Combina uma lista de novas opções com a lista de opções existentes.

  • new_choices – Uma lista de novas opções a ser combinada com a lista de opções existentes.

MapType(DataType)

__init__(valueType=UnknownType, properties={})
  • valueType – O tipo dos valores no mapa (opcional, o padrão é UnknownType).

  • properties – Propriedades do mapa (opcional).

Field(Object)

Cria um objeto de campo de um objeto que deriva de DataType.

__init__(name, dataType, properties={})
  • name – O nome a ser atribuído ao campo.

  • dataType – O objeto a ser criado a partir de um campo.

  • properties – Propriedades do campo (opcional).

StructType(DataType)

Define uma estrutura de dados (struct).

__init__(fields=[], properties={})
  • fields – Uma lista dos campos (do tipo Field) a ser incluída na estrutura (opcional).

  • properties – Propriedades da estrutura (opcional).

add(field)
  • field – Um objeto do tipo Field a ser adicionado à estrutura.

hasField(field)

Retorna True se essa estrutura tiver um campo com o mesmo nome ou False caso contrário.

  • field – O nome de um campo ou um objeto do tipo Field cujo nome está sendo usado.

getField(field)
  • field: um nome de um campo ou um objeto do tipo Field cujo nome está sendo usado. Se a estrutura tiver um campo com o mesmo, ele será retornado.

EntityType(DataType)

__init__(entity, base_type, properties)

Esta classe ainda não foi implementada.

 outros tipos

DataSource(object)

__init__(j_source, sql_ctx, name)
  • j_source – A fonte de dados.

  • sql_ctx – O contexto SQL.

  • name – O nome da fonte de dados.

setFormat(format, **options)

getFrame()

Retorna um DynamicFrame para a fonte de dados.

DataSink(object)

__init__(j_sink, sql_ctx)
  • j_sink – O depósito a ser criado.

  • sql_ctx – O contexto SQL para o depósito de dados.

setFormat(format, **options)

setAccumulableSize(size)
  • size – O tamanho acumulável a ser configurado, em bytes.

writeFrame(dynamic_frame, info="")
  • dynamic_frame – O DynamicFrame a ser escrito.

  • info – Informações sobre o DynamicFrame (opcional).

write(dynamic_frame_or_dfc, info="")

Escreve DynamicFrame ou DynamicFrameCollection.

  • dynamic_frame_or_dfc – Um objeto DynamicFrame ou DynamicFrameCollection a ser escrito.

  • info – Informações sobre DynamicFrame ou DynamicFrames a serem escritas (opcional).