私はPIGスクリプトを実行していますが、FOREACH ... GENERATE FLATTEN(...)
ラインに到達するまで、すべてが非常に高速に実行されます。
そのラインがとても遅く走るべきである理由がありますか?(これにより、スクリプト全体がかなり強力なクラスターでタイムアウトになります)
extended = FOREACH kRecords GENERATE *, NORMALIZE(query) AS query_norm:chararray;
-- DESCRIBE extended;
-- extended: {query: chararray,url: chararray,query_norm: chararray}
-- GROUP by both query and url
grouped = GROUP extended BY (query_norm, url);
-- DESCRIBE grouped;
-- grouped: {group: (query_norm: chararray,url: chararray),extended: {(query: chararray,url: chararray,query_norm: chararray)}}
-- Remove multiple items per record (but at the expense of duplicating records)
-- THE LINE BELOW IS THE SLOW ONE!!!
flattened = FOREACH grouped GENERATE FLATTEN(extended.query_norm), FLATTEN(extended.url);
-- THE LINE ABOVE IS THE SLOW ONE!!!
-- Remove duplicates
result = DISTINCT flattened;
ありがとう、バリー