1

Pig で同じサイズの 2 つのバッグを「マージ」する方法はありますか?

例: 私はこのような 2 つのバッグを持っています -

({(0.05,0.0),(0.05,0.0)}, {a, b}) 

そして私が欲しいのは:

(0.05,0.0,a), (0.05,0.0,b) 

(バッグに入っているかタプルに入っているかは関係ありません)。

これは、UDF の方法を使用するのが非常に簡単に思えます。Pig オペレーターまたは DataFu UDF を使用した簡単なソリューションはありますか?

4

1 に答える 1

0

順序が重要でない場合は、UDFを使用してこれを行うことができます。Python の場合:

@outputSchema('combined:{(f1, f2, f3)}')
def combine_equal_bags(bag1, bag2):
    out = []
    for b1, b2 in zip(bag1, bag2):
        out.append(b1 + (b2,))
    return out

これは pure-Pig だけでは不可能です。

于 2015-06-02T17:23:03.200 に答える