小编sen*_*r p的帖子

如何根据条件(组中的值)更新列?

我有以下df:

+---+----+-----+
|sno|dept|color|
+---+----+-----+
|  1|  fn|  red|
|  2|  fn| blue|
|  3|  fn|green|
+---+----+-----+
Run Code Online (Sandbox Code Playgroud)

如果任何颜色列值是red,那么我应该更新颜色列的所有值red,如下所示:

+---+----+-----+
|sno|dept|color|
+---+----+-----+
|  1|  fn|  red|
|  2|  fn|  red|
|  3|  fn|  red|
+---+----+-----+
Run Code Online (Sandbox Code Playgroud)

我无法理解.请帮忙; 我试过以下代码:

val gp=jdbcDF.filter($"dept".contains("fn"))
     //.withColumn("newone",when($"dept"==="fn","RED").otherwise("NULL"))
    gp.show()
gp.map(
  row=>{
    val row1=row.getAs[String](1)
    var row2=row.getAs[String](2)
    val make=if(row1 =="fn") row2="red"
    Row(row(0),row(1),make)
  }
).collect().foreach(println)
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

13
推荐指数
3
解决办法
2万
查看次数

将List转换为DataFrame Spark Scala

我有超过30个字符串的列表。如何将列表转换为数据框。我试过的

例如

Val list=List("a","b","v","b").toDS().toDF()

Output :


+-------+
|  value|
+-------+
|a      |
|b      |
|v      |
|b      |
+-------+


Expected Output is 


  +---+---+---+---+
| _1| _2| _3| _4|
+---+---+---+---+
|  a|  b|  v|  a|
+---+---+---+---+
Run Code Online (Sandbox Code Playgroud)

任何对此的帮助。

scala apache-spark apache-spark-sql spark-dataframe

5
推荐指数
2
解决办法
2万
查看次数