Spark Scala DataFrame进行循环

时间:2018-10-11 10:51:15

标签: scala loops apache-spark dataframe apache-spark-sql

我的输入数据框如下所示:

    index    bucket    time    ap   station    rssi
    0         1        00:00   1       1       -84.0
    1         1        00:00   1       3       -67.0
    2         1        00:00   1       4       -82.0
    3         1        00:00   1       2       -68.0
    4         2        00:15   1       3       -83.0
    5         2        00:15   1       2       -82.0
    6         2        00:15   1       4       -80.0
    7         2        00:15   1       1       -72.0
    8         3        00:30   1       4       -85.0
    9         3        00:30   1       3       -77.0
    10        3        00:30   1       2       -70.0

我是scala spark的新手,我想遍历像这样的数据:

for each ap 
   for each station 
      for each bucket 
         if rssi(previous bucket)<rssi(bucket)
         print message

这是我的spark应用程序的开始:

object coveralg {

    def main(args: Array[String]) {

        val spark = SparkSession.builder().appName("coveralg").getOrCreate()
        import spark.implicits._
        val input_data =  spark.read.format("csv").option("header","true").load(args(0))

    }
}

但是我不知道如何在数据帧上实现循环并选择值以执行

1 个答案:

答案 0 :(得分:0)

DataFrame不是为此设计的。 它们旨在将相同的转换应用于每个记录或减少它们。 您可以添加带有实现{{1}的Boolean的列:

if