gpt4 book ai didi

java - Spark : Saving filtered rows in FilterFunction

转载 作者:行者123 更新时间:2023-12-01 23:53:54 25 4
gpt4 key购买 nike

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

我的目标是确保我不会两次使用同一个数据集;一次过滤掉我想要的行,一次获取省略的行。

可以这样做吗?我想,如果有其他方法,我就不必使用 FilterFunction。

public class MyFilterFunction implements FilterFunction<Row> {

@Override
public boolean call(Row row) {
boolean filter = false
// Some business logic here
return filter;
}
}

最佳答案

编写一个用户定义的函数,而不是过滤函数,该函数将根据过滤条件添加附加列“分区”。实际数据-数据,过滤数据-省略。然后使用分区器在分区列上写入 df。

+----+----------------+---------+
|col1|filtercondition |partition|
+----+----------------+---------+
| a| true| data|
| b| false| omitted|
+----+----------------+---------+
//Output
//hdfs://..../data/ //Actual Data
//hdfs://..../omitted/ //Filtered Data

关于java - Spark : Saving filtered rows in FilterFunction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58212247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com