java - 根据 Spark 中的值列表过滤 rdd

标签 java apache-spark

我想根据 Spark 中的值列表应用过滤器。这就是我获取列表的方式:

DataFrame df = sqlContext.read().json("../sample.json");

        df.groupBy("token").count().show();

        Tokens = df.select("token").collect();
        for(int i = 0; i < Tokens.length; i++){
            System.out.println(Tokens[i].get(0)); // Need to apply filter for Token[i].get(0)
        }

我想要应用过滤器的 Rdd 是这样的:

JavaRDD<String> file = context.textFile(args[0]);

我想出了一种用java过滤的方法:

private static final Function<String, Boolean> Filter =
            new Function<String, Boolean>() {
                @Override
                public Boolean call(String s) {
                    return s.contains("Set");
                }
            };

我该怎么做?

最佳答案

也许我没有完全理解你的问题。如果你创建了一个列表,并且想使用该列表来过滤你的文件rdd,那么你是否可以不简单地使用filter函数?

file.filter(str -> list.contains(str))

关于java - 根据 Spark 中的值列表过滤 rdd,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32489057/

相关文章:

scala - 如何在 Apache ignite 中缓存 Dataframe

apache-spark - 如何在每次迭代后获取 Apache Spark ML 训练分数

java - "Bluetooth failes to initialize"当自动化蓝牙步骤时

java - Spring Data JpaRepository findAll(Iterable<ID> ids) + findAll(Sort 排序)

java - 了解java中的垃圾收集

python - pyspark : Convert DataFrame to RDD[string]

hadoop - Spark java.io.EOFException : Premature EOF: no length prefix available

java - Atlassian汇合: how do I update page using REST API

java - 抽象类中的多重性和聚合

scala - 修剪Java中Apache Spark中的特殊字符