1

Hadoopのデータのリストを含むこのファイルがあります。ID番号などでファイルを分析する簡単なPigスクリプトを作成しました...

私が探している最後のステップはこれです:一意のID番号ごとにファイルを作成(保存)したいと思います。したがって、これはグループのステップに依存するはずです...しかし、これが可能かどうかはわかりません(カスタムストアモジュールがあるのでしょうか?)。

何か案が?

ありがとう

ダニエレ

4

2 に答える 2

2

虚弱で言われていることを念頭に置いて、PiggyBankのMultiStorageはあなたが探しているもののようです。

于 2011-03-14T18:00:14.413 に答える
0

出力(ファイルなど)を取得するには、データを変数に割り当てる必要がありますSTORE。ID が限定的で有限である場合はFILTER、それらを 1 つずつ作成してからSTOREそれらを作成できます。(私は常に約 20-25 のアクション タイプに対してそれを行います)。

しかし、それぞれの一意の ID ファイルを取得する必要がある場合は、2 つのファイルを作成します。1 つは ID でグループ化されたデータ全体、1 つは一意の ID のみです。次に、その ID で FILTER する 1 つ (多すぎる場合はそれ以上) の pig スクリプトを生成してみてください。しかし、それは悪い解決策です。豚のスクリプトで 10 個の ID をグループ化すると仮定すると、(一意の ID カウント/10) の豚のスクリプトを実行する必要があります。

Hdfs は、あまりにも多くの小さなファイルを処理するのが得意ではないことに注意してください。

編集: より良い解決策は、一意のIDで大きなファイルにグループ化およびソートすることです。次に、ソートされているため、サードパーティのスクリプトでコンテンツを簡単に分割できます。

于 2011-03-12T11:14:15.040 に答える