使用 Java 检查 Spark Dataframe 中是不是存在列

Posted

技术标签:

【中文标题】使用 Java 检查 Spark Dataframe 中是不是存在列【英文标题】:Check if column exists in Spark Dataframe using Java使用 Java 检查 Spark Dataframe 中是否存在列 【发布时间】:2019-10-24 08:45:40 【问题描述】:

根据How do I detect if a Spark DataFrame has a column,有一个类似df.columns.contains("column-name-to-check")的函数可以检查列是否存在。我四处搜索并没有在 Java Spark 中找到类似的功能。有人知道Java中是否有类似的吗?

【问题讨论】:

【参考方案1】:

其中一个选项:

Arrays.asList(df.columns()).contains("column-name-to-check")

【讨论】:

【参考方案2】:

在 Java API 中,columns 返回 String[]。因此,我猜你可以使用java.util.Arrays(因为Java 8):

String yourColumn = "columnName";
String[] columns = df.columns();
boolean contains = Arrays.stream(columns).anyMatch(yourColumn::equals);

【讨论】:

以上是关于使用 Java 检查 Spark Dataframe 中是不是存在列的主要内容,如果未能解决你的问题,请参考以下文章

Spark SQL and DataFrame Guide(1.4.1)——之DataFrames

Datafram 实现作为正文发送邮件

Spark-SQL——DataFrame与Dataset

Spark AWS emr 检查点位置

将 DataFrame 的数据带回本地节点以在 spark/scala 中执行进一步操作(计数/显示)

失败后读取 Spark Streaming 检查点