Para

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

Notes

  • Reordenar as colunas e/ou os campos internos pelo nome para corresponder ao esquema especificado.
  • Project as colunas e/ou campos internos que não são necessários pelo esquema especificado. Colunas e/ou campos internos em falta (presentes no esquema especificado mas não DataFrame de entrada) conduzem a falhas.
  • Conjure 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 se overflows), mas não encadeie para int.
  • Mantém os metadados do esquema especificado, enquanto as colunas e/ou campos internos mantêm os seus próprios metadados se não forem sobrescritos pelo esquema especificado.
  • Falhe se a nulidade não for compatível. Por exemplo, a coluna e/ou o campo interno são nulláveis, mas o esquema especificado exige que não sejam nulláveis.

Suporta o Spark Connect.

Exemplos

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|
# +---+---+