1
我對scala和spark非常陌生。Scala Spark:動態分割數據幀列
我看過一個文本文件轉換成一個數據幀,單柱成功拆分成多列(主要是該文件是空格分隔CSV)
val irisDF:DataFrame = spark.read.csv("src/test/resources/iris-in.txt")
irisDF.show()
val dfnew:DataFrame = irisDF.withColumn("_tmp", split($"_c0", " ")).select(
$"_tmp".getItem(0).as("col1"),
$"_tmp".getItem(1).as("col2"),
$"_tmp".getItem(2).as("col3"),
$"_tmp".getItem(3).as("col4")
).drop("_tmp")
這工作。
但是如果我不知道數據文件中有多少列,該怎麼辦?如何根據分割函數生成的項目數動態生成列?
works lik一個夢想 – Jake