Как включить FileName в Pig Latin Script с помощью XMLLoader?

Я использую XMLLoader для загрузки XML в мой свиной латинский скрипт. А затем анализирую его с помощью своего UDF. Проблема в том, что я хочу включить имя входного файла в свой UDF.

Что-то типа

имя_файла = (строка) input.get(1);

Вот мой латинский код Pig для справки

REGISTER contrib/piggybank/java/piggybank.jar;
REGISTER TallyUDF.jar;
log = LOAD '/home/HadoopNaman1/pig/trunk/CompFetXML.xml' using  org.apache.pig.piggybank.storage..XMLLoader('ENVELOPE') as xml_record;
N = FOREACH log GENERATE FLATTEN(TallyUDF.ParseCompFet(xml_record)) as (key:CHARARRAY,value1:CHARARRAY,value2:CHARARRAY);
M = FILTER N by key is not null;
DUMP M;

Я думаю, что мне нужно отредактировать код XMLLoader.java. Однако я не могу придумать, как это сделать.


person Ghost    schedule 17.12.2012    source источник
comment
Этот ответ может дать вам некоторое представление о том, как это сделать: stackoverflow.com/a/9760836/1050422   -  person Lorand Bendig    schedule 19.12.2012