Pig 두번째 예제 살펴보기~

|



passwd 파일에서 아이디, 이름, 홈디렉토리를 가져오는 피그 예제를 살펴봤다. 

이번에는 하둡 완벽 가이드에 나왔던 연도별 최고 온도를 계산하는  예제를 살펴보기로 하자. 

해당 예제에 대한 설명은 Hive & Pig - 하둡(Hadoop)의 맵리듀스를 보다 편하게~ 를 참고하기 바란다. 


1. 먼저 예제로 사용할 sample.txt 파일을 만들어 보자. 

> vi sample.txt


2. 년도 온도 품질 순으로 탭을 공백으로 다음과 같이 입력하고 저장한다. 


3. 생성한 sample.txt 파일을 하둡 파일 시스템의 /user/cloudera에 업로드하고 확인한다. 

> hdfs dfs -put sample.txt /user/cloudera
> hdfs dfs -ls /user/cloudera


4. pig를 실행하고  grunt shell에서 다음과 같이 명령어를 입력한다. 

> pig -x mapreduce
grunt> records = LOAD ‘/user/cloudera/sample.txt’
>> AS(year: chararray, temperature:int, quality:int);
grunt> filtered_records = FILTER records BY temperature != 9999
>> AND quality == 1

grunt> grouped_records = Group filtered_records BY year;
grunt> max_temp = FOREACH grouped_records GENERATE group,
>> MAX(filtered_records.temperature);

grunt> DUMP max_temp;


5. 결과 값을 확인하면 다음과 같이 1949년에 111, 1950년에 22가 나온 것을 확인할 수 있다. 


신고



Trackback 0 And Comment 0