如何在Java中使用Column.isin?

时间:2016-11-07 15:26:57

标签: java apache-spark apache-spark-sql

我正在尝试使用Java中的列表过滤Spark DataFrame。

java.util.List<Long> selected = ....;
DataFrame result = df.filter(df.col("something").isin(????));

问题是isin(...)方法接受Scala Seq或varargs。

传递JavaConversions.asScalaBuffer(selected)也不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:6)

使用stream方法如下:

df.filter(col("something").isin(selected.stream().toArray(String[]::new))))

答案 1 :(得分:0)

一个简短的版本是:

df.filter(col("something").isin(selected.toArray()));