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