3

我想知道如何在 Pig 中读取 Mahout 生成的序列文件?我想可能有一个UDF,但我还找不到。

4

1 回答 1

1

我最终像这样使用了大象鸟(v2.2.3):

register '/usr/share/dse/mahout/mahout-core-0.6-job.jar';
register './elephant-bird-2.2.3.jar';

%declare SEQFILE_LOADER   'com.twitter.elephantbird.pig.load.SequenceFileLoader';
%declare LONG_CONVERTER   'com.twitter.elephantbird.pig.util.LongWritableConverter';
%declare INT_CONVERTER    'com.twitter.elephantbird.pig.util.IntWritableConverter';
%declare VECTOR_CONVERTER 'com.twitter.elephantbird.pig.mahout.VectorWritableConverter';
%declare TEXT_CONVERTER   'com.twitter.elephantbird.pig.util.TextConverter';

....

sets = LOAD '$INPUT_SETS' USING $SEQFILE_LOADER ( '-c $INT_CONVERTER', '-c $VECTOR_CONVERTER') AS (thing_id:int, recommendations:chararray);

...
于 2013-02-24T18:14:00.933 回答