PIGはIN句をサポートしていますか?
filtered = FILTER bba BY reason not in ('a','b','c','d');
または、複数のORに分割する必要がありますか?
ありがとう!
PIGはIN句をサポートしていますか?
filtered = FILTER bba BY reason not in ('a','b','c','d');
または、複数のORに分割する必要がありますか?
ありがとう!
代わりに、ApacheDataFuの以下のudfを使用できます。これは、多くのORを記述しないようにするのに役立ちます。
https://github.com/linkedin/datafu/blob/master/src/java/datafu/pig/util/InUDF.java
Pig0.12が演算子http://www.edureka.co/blog/operators-in-apache-pig-diagnostic-operators/に追加されました。ページの下部を参照してください。リリースノート。公式ドキュメントに記載されていません(リリースノートでの言及は別として)
AND / OR/NOTを使用して取得できます
いいえ、PigはIN句をサポートしていません。私も同じような状況でした。回避策としてAND演算子とfilterキーワードを使用できますが。お気に入り
A = LOAD'source.txt' AS(user:chararray、age:chararray);
B = FILTER A BY($1は'tapan'に一致)AND($ 1は'superman'に一致);
ただし、必要なフィルタリングの数が膨大な場合。次に、おそらく、これらすべてのキーワードを含むリレーションを作成し、結合を実行して、オカレンスが一致する場所でフィルタリングすることができます。お役に立てれば。
IN句は次のように使用できます。
A = FILTER alias_name BY col_name IN (val1, val2,...,valn);
DUMP A;