如何将DataFrame转换为Iterable(并在Zeppelin中使用值填充复选框)?

时间:2017-09-18 08:18:24

标签: apache-spark apache-spark-sql apache-zeppelin

我想用一个列的不同值填充spark中的Checkbox,因为在下一步中这将是我的过滤器选项。

我的数据看起来像这样:

DF:

root
 |-- KW: integer (nullable = true)
 |-- grund: long (nullable = true)
 |-- text_rotschaltung: string (nullable = true)
 |-- Anzahl: long (nullable = false)

ColumnFilter:

root
 |-- grund: long (nullable = true)

“grund”列是失败原因的标识符。在我的报告中,用户应以交互方式过滤他想要查看的原因。

其实我有这个代码部分:

...

    val df = rdd1.toDF()
    var ColumnFilter = df.orderBy("grund").select("grund").distinct



println("Hello "+z.checkbox("The reasons:", ColumnFilter).mkString(" and "))

使用此代码我收到错误:

error: type mismatch;
 found   : org.apache.spark.sql.DataFrame
 required: Iterable[(Object, String)]
println("Hello "+z.checkbox("The reasons", ColumnFilter).mkString(" and "))

如何将DataFrame转换为Iterable,或者将其他选项转换为Checkbox?

非常感谢。

1 个答案:

答案 0 :(得分:0)

  

如何将DataFrame转换为Iterable

使用collect获取数据(来自DataFrame)。