如何在 Java 中使用 Column.isin?

Posted

技术标签:

【中文标题】如何在 Java 中使用 Column.isin?【英文标题】:How to use Column.isin in Java? 【发布时间】:2016-11-07 15:26:56 【问题描述】:

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

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

问题在于 isin(...) 方法接受 Scala Seq 或可变参数。

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

有什么想法吗?

【问题讨论】:

【参考方案1】:

使用stream方法如下:

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

【讨论】:

【参考方案2】:

稍微短一点的版本是:

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

【讨论】:

以上是关于如何在 Java 中使用 Column.isin?的主要内容,如果未能解决你的问题,请参考以下文章

Spark的Column.isin函数不带List

如何在 Java 中使用 cURL?

如何在 Java 中使用引用?

如何使用java在mysql中使用\\更新文件路径?

如何在 Java 中使用 SOAP Web 服务

如何使用 AES 在 Java 中加密文件 [重复]