2014-12-19 2 views
0

아파치 돼지, hadoop 및 친구들을 배우려고합니다. 지금은 뉴욕시 티켓 데이터로 작업하고 있습니다.아파치 돼지의 맵 데이터 집합 toplele에 열을 추가하는 방법

내가하여 데이터를로드 : 이제

data = load 'nyc/smallNYC.csv' USING PigStorage(',') AS 
(
    SummonsNumber:int, 
    PlateID:chararray, 
    RegistrationState:chararray, 
    PlateType:chararray, 
    ... 
    StreetName:chararray 
    ... // And a lot more 
) 

나는 하나 CleanedStreetName (술이 질문에 대한 것,이 데이터 세트에 두 개의 새로운 열을 추가 할 (또는 각 데이터 세트에 두 개의 새로운 키를 연결) 것 LOWER (StreetName)을 사용하여이 열을 생성하려고한다고 가정하면 두 번째 열은 IssueYear이됩니다.

그런 다음이 열을 사용하여 그룹화하고 필터링하고 싶습니다. 어떻게 사용하는지 설명하는 가이드를 찾을 수 없었습니다.

  • 이 할 수있는 현명한 일이다

    그래서 여기에 질문입니까? 어쩌면 나는이 값들을 즉석에서 계산해야 할까?

  • 이것이 좋은 분이라면 CleanedStreetName 열을 추가하는 스 니펫을 게시하십시오.
+0

로 할당 IssueYear을 얻을하는 방법을 지정하지 않았습니다 기존 입력? 그렇다면 가능합니다. 샘플 입력 데이터와 최종 출력을 붙여 넣을 수 있습니까? –

답변

1

돼지에서는 데이터의 투영을 생성하기 위해 FOREACH을 사용합니다.

당신은 당신이 그렇게 난 그냥 당신은 몇 가지 필터 조건에 따라 즉석에서 두 개의 새로운 열 (CleanedStreetName 및 IssueYear)를 생성 할 0

NEWDATA = FOREACH data GENERATE *,LOWER(StreetName) as CleanedStreetName, 0 as IssueYear 
+0

감사합니다. 나는 'as'에 대해 몰랐습니다. –

관련 문제