Pular para o conteúdo principal

para

Retorna um novo DataFrame onde cada linha é reconciliada para corresponder ao esquema especificado.

Sintaxe

to(schema: StructType)

Parâmetros

Parâmetro

Tipo

Descrição

schema

Tipo de estrutura

Esquema especificado.

Devoluções

DataFrame: DataFrame reconciliado.

Notas

  • Reordene as colunas e/ou campos internos por nome para corresponder ao esquema especificado.
  • Remover colunas e/ou campos internos que não sejam necessários para o esquema especificado. A ausência de colunas e/ou campos internos (presentes no esquema especificado, mas não no DataFrame de entrada) leva a falhas.
  • Converta as colunas e/ou campos internos para corresponder aos tipos de dados no esquema especificado, se os tipos forem compatíveis, por exemplo, numérico para numérico (erro em caso de estouro), mas não strings para inteiro.
  • Os metadados do esquema especificado são mantidos, enquanto as colunas e/ou campos internos conservam seus próprios metadados, a menos que sejam sobrescritos pelo esquema especificado.
  • Falha se a nulidade não for compatível. Por exemplo, a coluna e/ou o campo interno podem ser anuláveis, mas o esquema especificado exige que não sejam.

Compatível com Spark Connect.

Exemplos

Python
from pyspark.sql.types import StructField, StringType
df = spark.createDataFrame([("a", 1)], ["i", "j"])
df.schema
# StructType([StructField('i', StringType(), True), StructField('j', LongType(), True)])

schema = StructType([StructField("j", StringType()), StructField("i", StringType())])
df2 = df.to(schema)
df2.schema
# StructType([StructField('j', StringType(), True), StructField('i', StringType(), True)])
df2.show()
# +---+---+
# | j| i|
# +---+---+
# | 1| a|
# +---+---+