2014-12-18 4 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

는 물론, 당신이 수행하는 방법에 대한 자세한 설명은 스크립트를 실행하고 물건을 할 pigrun 명령을 사용할 수 있습니다,이 참조 link
도움이 되길 바랍니다.

+0

내 의도는 내가 만든 출력을 다른 파일로드에 동일한 돼지 스크립트의 입력으로 사용할 수있는 형식으로 파이프하는 것입니다. – theMadKing

관련 문제