등장배경

모든 문제들을 Mapper와 Reducer의 개념에 맞춰서 재해석하는 것은 쉬운 일이 아니다. 따라서, MapReduce를 사용해 프로그램을 개발하고, 원하는 작업을 수행하기까지 오랜 시간이 걸린다는 문제를 해결하기 위해 등장했다.

Pig

Pig Latin이라는 스크립팅 언어로, Hadoop과 MapReduce 위에 구축되어, mapper와 reducer를 작성하지 않고도 MapReduce 작업을 수행할 수 있다.

Pig는 절차형 언어로, 아주 간단한 스크립트 양식을 사용해서 단계별로 데이터 간 관계를 설정하여 SQL과 비슷한 작업을 한다. 데이터를 고르고, 필터링하고, 한 줄씩 변형하는 작업을 할 수 있다. 즉, MapReduce 작업을 간소화해서 처리하는 방법이다. → 개발 과정이 빨라지게 됨 (내부적으로는 결국 MapReduce로 번역이 되는 것 맞음)

MapReduce 대신에 tez를 활용할 수도 있음. → MapReduce에 비해 훨씬 빠르기 떄문에

Pig Latin은 확장성도 괜찮은 편이라서 UDF (user-defined function) 의 활용도 가능하다.

Untitled

Pig를 실행하기