首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark:在FilterFunction中保存已过滤的行

Spark:在FilterFunction中保存已过滤的行
EN

Stack Overflow用户
提问于 2019-10-03 12:18:13
回答 2查看 501关注 0票数 0

我在Spark中编写了一个FilterFunction来过滤DataSet中的行。它工作得很好,但新的要求是我需要将所有省略的行保存到不同的位置。那么最好的方法是什么呢?

我的目标是确保不会两次使用相同的DataSet;一次是过滤掉我想要的行,一次是得到省略的行。

这样做有可能吗?我想,如果有其他方法,我不需要使用FilterFunction。

代码语言:javascript
复制
public class MyFilterFunction implements FilterFunction<Row> {
    
    @Override
    public boolean call(Row row) {
        boolean filter = false
        // Some business logic here
        return filter; 
    }
}
EN

回答 2

Stack Overflow用户

发布于 2019-10-03 14:27:23

代替过滤函数,编写一个用户定义的函数,它将根据过滤条件添加一个额外的列‘分区’。实际数据-数据,过滤数据-省略。然后使用分区程序在分区列上写入df。

代码语言:javascript
复制
+----+----------------+---------+
|col1|filtercondition |partition|
+----+----------------+---------+
|   a|            true|     data|
|   b|           false|  omitted|
+----+----------------+---------+
//Output
//hdfs://..../data/    //Actual Data
//hdfs://..../omitted/ //Filtered Data
票数 0
EN

Stack Overflow用户

发布于 2019-10-13 22:50:41

您正在尝试从一个数据集中生成两个数据集。但是,DataSet接口目前没有提供任何转换(除了随机拆分,它不会解决您的问题)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58212247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档