次の列を持つデータフレームがあります。
groupid,unit,height
----------------------
1,in,55
2,in,54
Unit = cmおよびheight = height * 2.54の行を追加して別のデータフレームを作成したいと思います。
結果のデータフレーム:
groupid,unit,height
----------------------
1,in,55
2,in,54
1,cm,139.7
2,cm,137.16
spark udfを使用して、ここで爆発させる方法がわかりません。助けていただければ幸いです。よろしくお願いします。
dataframe
を使用して必要な変更を加えた別のwithColumn
を作成し、次にunion
両方をdataframes
として作成できます。
import sqlContext.implicits._
import org.Apache.spark.sql.functions._
val df = Seq(
(1, "in", 55),
(2, "in", 54)
).toDF("groupid", "unit", "height")
val df2 = df.withColumn("unit", lit("cm")).withColumn("height", col("height")*2.54)
df.union(df2).show(false)
あなたが持っている必要があります
+-------+----+------+
|groupid|unit|height|
+-------+----+------+
|1 |in |55.0 |
|2 |in |54.0 |
|1 |cm |139.7 |
|2 |cm |137.16|
+-------+----+------+