빅데이터 공부하기63

 

PIG

 

- MapReduce 프로그래밍을 보다 상위레벨에서 쉽게 해주기 위한 스크립트 기반의 Data Set Mainpulation Flow 프로그래밍 언어

 

- 야후에서 개발되기 시작했으며 (지금은 아파치 오픙소스)다음과 같은 두 가지 컴포넌트로 구성

: Pig Latin : 프로그래밍언어 자체

: 실행환경 : 로컬 모드와 분산모드가 있으며 전자는 하나의 JVM에서 동작하며(테스트 / 개발용)후자는 하둡 클러스터(Pseudo Distributed mode 포함)위에서 동작

 

Pig Latin

 

- 데이터셋 transformation을 통해 최종데이터를 생성해내는 스크립트언어. 최종적으로 Planner라는 모듈에 의해 여러개의 MapReduce프로그램으로 컴파일 됨

 

- Pig 자체에 부족한 기능이 있을 경우 UDF(User Defined Runcion)로 기능 확장이 가능하며 UDF는 자바뿐만 아니라 Python/Ruby등으로 작성가능

: PiggyBank: Pig 사용자들끼리 서로 만든 UDF를 공유하는 곳

(http://wiki.apach.org/pig/PiggyBank)

 

- 자바로 만든 Native MapReduce 프로그램에 비해 느리지만 일단 익히면 높은 생산성을 자랑

 

- 데이터셋의 스키마가 잘 정의 되지 않아도 동작(semi-structured data set에도 동작)

 

 

 

+ Recent posts