0
Chararray로 정의 된 열 (제품 이름)은 OT, AT 및 HP의 세 가지 값을가집니다.Apache PIG - 다른 값을 기준으로 새 열을 만듭니다.
- OT = 1
- AT = 2
- HP I는 foreach는 한 Statment 만드는 것이 들어 = 3
:
를 I 새로운 컬럼을 생성하고 정수로,이 값을 변환 할REGISTER '/usr/lib/pig/piggybank.jar';
File = load '/user/cloudera/file.csv'
USING org.apache.pig.piggybank.storage.CSVExcelStorage(',')
as (ID:Long,
Chain:Int,
Dept:Int,
Product_Measure:Chararray,
Price:Double);
Values = FOREACH File Generate
ID,
Chain,
Dept,
((Chararray)Product_Measure=='OT'?'1':(Chararray)Product_Measure=='AT'?'2':(Chararray)Product_Measure=='HP'?'3':'0') as Product_Measure,
(Price<0.1?0:Price) as Price;
Filter_Values = FILTER Values BY Price > 0;
DUMP Filter_Values;
제 3 부 라인을 제거하면 잘 작동하므로 char 형을 int로 변환하려고 할 때 문제가 있다고 생각합니다.
아무도 도와 줄 수 있습니까?
감사합니다!
안녕 ankur에 다른
chararray
모든 대체 값으로 변환하려면==
2 차 넣어 :(난 내 코드를 업데이 트했습니다 – SaCvP