【发布时间】:2019-04-26 03:33:22
【问题描述】:
有没有办法根据 Scala 数组过滤或标记行?
请记住,实际上行数要大得多。
样本数据
val clients= List(List("1", "67") ,List("2", "77") ,List("3", "56"),List("4","90")).map(x =>(x(0), x(1)))
val df = clients.toDF("soc","ages")
+---+----+
|soc|ages|
+---+----+
| 1| 67|
| 2| 77|
| 3| 56|
| 4| 90|
| ..| ..|
+---+----+
我想过滤 Scala 数组中的所有年龄,比如说
var z = Array(90, 56,67).
df.where(($"ages" IN z)
或
df..withColumn("flag", when($"ages" >= 30 , 1)
.otherwise(when($"ages" <= 5, 2)
.otherwise(3))
【问题讨论】:
标签: scala apache-spark apache-spark-sql