티스토리 뷰
클라우데라의 QuickStartVM에서 피그 스크립트를 실행하는 것을 살펴보기로 한다.
피그(Pig)와 관련된 내용은 다음 글을 참고하기 바란다.
하둡(Hadoop) 관련 기술 - 피그, 주키퍼, HBase에 대한 간략한 정리!
Hive & Pig - 하둡(Hadoop)의 맵리듀스를 보다 편하게~
오늘 살펴볼 예제는 VM의 passwd 파일을 HDFS에 업로드하고,
해당 파일에서 사용자 아이디, 사용자 이름, 그리고 홈디렉토를 가져와서 결과를 저장하는 것이다.
다음 순서대로 따라해 보자.
1. /etc/passwd 파일을 HDFS의 /user/cloudera로 업로드한다.
> hdfs dfs -put /etc/passwd /user/cloudera
> hdfs dfs -ls /user/cloudera/passwd
2. 피그 스크립트를 작성하고 동작 시킬 수 있는 grunt shell을 실행한다.
> pig -x mapreduce
3. grunt shell에서 passwd 파일을 불러오고 아이디, 사용자 이름, 홈 디렉토리를 가져오는 스크립트를 작성한다.
passwd 파일의 한 라인이 ':'으로 구분되어 있으므로 using PigStorage(':')로 구분자를 지정했다.
그리고 foreach문으로 각 라인을 돌면서 첫 번째, 다섯 번째, 여섯 번째의 값을 B에 저장한다.
마지막으로 B를 덤프해서 원하는 값이 제대로 처리되었는지 확인한다.
> A = load '/user/cloudera/passwd' using PigStorage(':');
> B = foreach A generate $0, $4, $5;
> dump B;
4. dump 결과는 다음과 같다.
5. store 명령어를 통해서 결과값을 하둡 파일 시스템으로 저장할 수 있다.
저장 후 quit 명령어로 grunt shell을 빠져나온다.
> store B into 'userinfo.out';
> quit
6. userinfo.out 폴더가 생성된 것을 확인하고 결과 값이 제대로 저장되어 있는지 확인한다.
> hdfs dfs -ls /user/cloudera/userinfo.out
> hdfs dfs -cat /user/cloudera/userinfo.out/part-m-00000
'Cloud&BigData > 하둡(Hadoop)' 카테고리의 다른 글
HBase 예제 살펴보기~ (0) | 2016.01.08 |
---|---|
Hive 예제 살펴보기~ (0) | 2016.01.07 |
Hadoop 2.0 - HDFS2와 YARN (0) | 2016.01.05 |
[QuickStartVM] 하둡 word counting 테스트 (0) | 2016.01.04 |
HDFS 간단히 살펴보기~ (0) | 2015.12.31 |