に
指定されたスキーマに一致するように各行が調整された新しいDataFrameを返します。
構文
to(schema: StructType)
パラメーター
パラメーター | Type | 説明 |
|---|---|---|
| StructType | 指定されたスキーマ。 |
戻り値
DataFrame: 調整済みDataFrame 。
注意
- 指定されたスキーマに一致するように、列や内部フィールドを名前順に並べ替えてください。
- 指定されたスキーマで不要な列や内部フィールドを除外します。列や内部フィールドが欠落している場合(指定されたスキーマには存在するが、入力DataFrameに存在しない場合)、エラーが発生します。
- 指定されたスキーマのデータ型に互換性がある場合(たとえば、数値から数値への変換(オーバーフローが発生した場合はエラー)、文字列から整数への変換は不可)、列および/または内部フィールドを、指定されたスキーマのデータ型に一致するようにキャストします。
- 指定されたスキーマからメタデータを引き継ぎますが、列や内部フィールドは、指定されたスキーマによって上書きされない限り、独自のメタデータを保持します。
- null許容性が互換性がない場合は失敗します。例えば、列や内部フィールドはnull許容であるにもかかわらず、指定されたスキーマではnull許容であってはならないと規定されている場合などです。
Spark Connectに対応しています。
例
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|
# +---+---+