返回一个新的 DataFrame,其中每一行进行协调以匹配指定的架构。
Syntax
to(schema: StructType)
参数
| 参数 | 类型 | 说明 |
|---|---|---|
schema |
结构类型 | 指定的架构。 |
退货
DataFrame:协调的数据帧。
备注
- 按名称对列和/或内部字段重新排序以匹配指定的架构。
- Project指定架构不需要的列和/或内部字段。 缺少列和/或内部字段(存在于指定的架构中,但不在输入数据帧中)会导致失败。
- 如果类型兼容,则强制转换列和/或内部字段以匹配指定架构中的数据类型,例如数值到数值(如果溢出时出错),但不能将字符串转换为 int。
- 从指定的架构中传递元数据,如果指定的架构未覆盖列和/或内部字段,则仍保留其自己的元数据。
- 如果可为 null 性不兼容,则失败。 例如,列和/或内部字段可为 null,但指定的架构要求它们不可为 null。
支持 Spark Connect。
示例
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|
# +---+---+