Ich habe einen Funkendatenrahmen (
) mit einem bestimmten Schema, und ich habe einen weiteren Datenrahmen mit denselben Spalten, aber unterschiedlichem Schema. Ich weiß, wie es die Spalte für die Spalte macht, aber da ich einen großen Satz von Spalten habe, wäre es ziemlich lang. Um das Schema über Datenrahmen zu halten, habe ich mich gefragt, ob ich in der Lage sein könnte, ein Schema auf einen anderen Datenrahmen anzuwenden oder eine Funktion zu erstellen, die den Auftrag erledigt.
Code: Select all
df1
# root
# |-- A: date (nullable = true)
# |-- B: integer (nullable = true)
# |-- C: string (nullable = true)
df2
# root
# |-- A: string (nullable = true)
# |-- B: string (nullable = true)
# |-- C: string (nullable = true)`
Ich möchte kopieren, dass das Schema von df1 auf df2 anwenden.
Ich habe diesen Ansatz für eine Spalte ausprobiert. Angesichts der Tatsache, dass ich eine große Anzahl von Spalten habe, wäre es eine ziemlich lange Art, dies zu tun.
Code: Select all
df2 = df2.withColumn("B", df2["B"].cast('int'))