指定したスキーマと一致するように各行が調整される新しい 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|
# +---+---+