我正在尝试使用Java中的列表过滤Spark DataFrame。
java.util.List<Long> selected = ....;
DataFrame result = df.filter(df.col("something").isin(????));
问题是isin(...)
方法接受Scala Seq
或varargs。
传递JavaConversions.asScalaBuffer(selected)
也不起作用。
有什么想法吗?
答案 0 :(得分:6)
使用stream
方法如下:
df.filter(col("something").isin(selected.stream().toArray(String[]::new))))
答案 1 :(得分:0)
一个简短的版本是:
df.filter(col("something").isin(selected.toArray()));