String scala有关如何拆分一列的操作
例如:有如下数据帧:String scala有关如何拆分一列的操作,string,scala,apache-spark,dataframe,split,String,Scala,Apache Spark,Dataframe,Split,例如:有如下数据帧: val df2 = sc.parallelize(List((1, "A|B"), (1, "C|D"), (2, "E|A"), (2, "S|D"))) .toDF("key1","key2") 现在我想将列“key2”拆分为两列。结果的每一行显示如下: 1 "A" "B" 我应该编写什么代码?谢谢 您可以按|拆分key2列,然后将每个元素映射到新列。您可以尝试以下代码 df2.withColumn("key",split($"key2","\\|")).selec
val df2 = sc.parallelize(List((1, "A|B"), (1, "C|D"), (2, "E|A"), (2, "S|D")))
.toDF("key1","key2")
现在我想将列“key2”拆分为两列。结果的每一行显示如下:
1 "A" "B"
我应该编写什么代码?谢谢 您可以按
|
拆分key2
列,然后将每个元素映射到新列。您可以尝试以下代码
df2.withColumn("key",split($"key2","\\|")).select(
$"key1",
$"key".getItem(0).as("key2"),
$"key".getItem(1).as("key3")
).show()
// output
// +----+----+----+
// |key1|key2|key3|
// +----+----+----+
// | 1| A| B|
// | 1| C| D|
// | 2| E| A|
// | 2| S| D|
// +----+----+----+