我正在尝试使用Java中的列表过滤Spark DataFrame。
java.util.List<Long> selected = ....;
DataFrame result = df.filter(df.col("something").isin(????));
问题是isin(...)
方法接受Scala Seq
或变量。
通过JavaConversions.asScalaBuffer(selected)
也不工作。
任何想法?
使用stream
方法如下:
df.filter(col("something").isin(selected.stream().toArray(String[]::new))))
更短一点的版本是:
df.filter(col("something").isin(selected.toArray()));