回傳一個新的資料框架,每一列都會對照到指定的結構。
語法
to(schema: StructType)
參數
| 參數 | 類型 | 說明 |
|---|---|---|
schema |
結構類型 | 指定架構。 |
退貨
DataFrame:對帳資料框架。
Notes
- 依名稱重新排序欄位和/或內欄以符合指定的結構。
- Project 移除指定結構中不需要的欄位和/或內欄位。 缺少欄位和/或內欄位(在指定結構中存在但輸入資料框中沒有)會導致故障。
- 若欄位與/或內欄位相容,則鑄造欄位和/或內欄位以匹配指定結構中的資料型態,例如數值對數字(若溢位則錯誤),但字串與整數相容。
- 從指定的結構中繼資料,而欄位和/或內欄位若未被指定結構覆蓋,仍保留自己的元資料。
- 若可行性不相容,則失敗。 例如,欄位和/或內欄位是可空的,但指定的結構要求它們不可被空化。
支援 Spark Connect。
Examples
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|
# +---+---+