Apache pig 如何在PIG store函数期间对数据进行多次迭代
我想知道是否有可能为PIG编写一个用户定义的存储函数,在数据/输入元组上迭代两次 我在这里读到了如何编写自己的存储函数,例如通过实现自己的“getNext()”方法。 然而,对于我的用例,在“getNext()”方法中必须两次查看每个元组,因此我想知道是否有办法做到这一点,例如通过以某种方式重置读取器或覆盖其他方法 附加信息:我正在寻找一种从元组1迭代到元组n,然后再从1迭代到n的方法 有人知道怎么做那样的事吗 谢谢!Apache pig 如何在PIG store函数期间对数据进行多次迭代,apache-pig,Apache Pig,我想知道是否有可能为PIG编写一个用户定义的存储函数,在数据/输入元组上迭代两次 我在这里读到了如何编写自己的存储函数,例如通过实现自己的“getNext()”方法。 然而,对于我的用例,在“getNext()”方法中必须两次查看每个元组,因此我想知道是否有办法做到这一点,例如通过以某种方式重置读取器或覆盖其他方法 附加信息:我正在寻找一种从元组1迭代到元组n,然后再从1迭代到n的方法 有人知道怎么做那样的事吗 谢谢! 塞巴斯蒂安这是我的想法,但你可以试试这样的东西: imports here
塞巴斯蒂安这是我的想法,但你可以试试这样的东西:
imports here ...;
class MyStorage extends PigStorage {
private int counter = 0;
private Tuple cachedTuple = null;
public Tuple getNext(){
if (this.counter++ % 2 == 0) {
this.cachedTuple = super.getNext();
}
return this.cachedTuple;
}
}
但这会让我在第二次发生之后马上看到第一次。我在寻找一个从1到n的迭代,然后再从1到n。很抱歉没有说清楚。无论如何谢谢你。