2014-12-18 2 views
0

У меня есть следующий код:Как иметь файл как схему для свиньи?

Моя конечная цель состоит в том, чтобы созданный файл был схемой для другого входного файла. Это возможно? Результат текущего сценария выглядит так:

%declare INPUT '$input' 
%declare SCHEMA '$schema' 
%declare OUTPUT '$output' 
%declare DEL '$del' 
%declare COL ':' 
%declare COM ',' 
A = LOAD '$SCHEMA' using PigStorage('$DEL') AS (field:chararray, dataType:chararray, flag:chararray, chars:chararray); 
B = FOREACH A GENERATE CONCAT(field,CONCAT('$COL',CONCAT(REPLACE(REPLACE(dataType, 'decimal','double'), 'string', 'chararray'),'$COM'))); 
rmf $OUTPUT 
STORE B INTO '$OUTPUT'; 

Не уверен, что правильный подход.

Вот результат:

record_id:chararray, 
offer_id:double, 
decision_id:double, 
offer_type_cd:integer, 
promo_id:double, 
pymt_method_type_cd:double, 
cs_result_id:double, 
cs_result_usage_type_cd:double, 
rate_index_type_cd:double, 
sub_product_id:double, 
campaign_id:double, 
market_cell_id:double, 
assigned_offer_id:chararray, 
accepted_offer_flag:chararray, 
current_offer_flag:chararray, 
offer_good_until_date:chararray, 

ответ

0

Конечно, Вы можете использовать run команду pig, чтобы запустить сценарий и делать вещи по мере необходимости вам, для более подробного объяснения того, как сделать, смотрите этот link
Надеюсь, это поможет!

+0

Мое намерение состоит в том, чтобы передать вывод, который я создал, в формат, который я могу использовать в качестве входа в том же скрипте свиньи для другой загрузки файла. – theMadKing

Смежные вопросы