Spark 获取列作为 zeppelin select 形式使用的序列

Spark get a column as sequence for usage in zeppelin select form

我有一个数据框,我想从中 select 列作为 seq 用于 zeppelin Select 形式。

select 表格是这样工作的:

Select表格要求

required: Iterable[(Object, String)]

我得到的是

val test_seq = data.select("file", "id").collect().map(x => (x.get(0), x.get(1).toString)).toSeq

形式

found: Seq[(Any, String)]

并且在表格中不可用。我还没有弄清楚如何以正确的格式从数据框中获取列。

你可以尝试从RDD中获取对象和字符串的元组,然后使用toIterable转换为Iterable[(Object, String)]:

val testIter = data.select("file", "id").collect().map(
    x => (x.getAs[Object](0), x.getAs[String](1))
).toIterable