送信先

指定したスキーマと一致するように各行が調整される新しい DataFrame を返します。

構文

to(schema: StructType)

パラメーター

パラメーター タイプ 説明
schema StructType 指定されたスキーマ。

返品

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