데이터 사이언스

[Hadoop] Pig 소개, 특징, 이해하기

메가구글 2023. 3. 31. 03:16

1. Apache Pig 소개

Apache Pig는 큰 데이터 셋을 분석하는 플랫폼이다.Pig의 대표적인 속성은 구조가 실질적 병렬화에 적합하여 매우 큰 데이터 셋을 처리할 수 있다. 

 

  • Hadoop의 ETL 라이브러리다.
    • ETL : Extract, transform, load
    • MapReduce jobs을 만든다.
    • Yahoo에서 만들어졌다.
  • Pig Latin 언어를 사용한다.
    • Oink, Grunt

 

2. Pig 특징

  • 프로그램의 용이성
    • 상호 관련된 여러 데이터 변환으로 구성된 복잡한 작업은 데이터 흐름 시퀀스로 인코딩되므로 쉽게 작성, 이해, 유지 관리할 수 있다.
  • 최적화 기회
    • 인코딩되는 방식을 통해 시스템은 자동으로 실행을 최적화한다. 
  • 확장성
    • 사용자는 자신의 목적에 따라 자신의 함수를 만들 수 있다.

 

3. Pig 사용하는경우

ETL과 같은 일, 작업을 하는경우

transform data : 긴 텍스트가 왔을 때 단어를 세는 경우

Clean data : 정확하지 않는 데이터, 중요하지 않는 데이터들을 버린다.

Process data : 굉장히 큰 데이터가 있을 때, Hadoop에 데이터를 넣어두고 Pig로 필터한다.

 

 

4. Pig 사용예시

LOAD <file>

FILTER, JOIN, GROUP BY, FOREACH, GENERATE <values>

DUMP <to screen for testing>

STORE <new file>

 

5. Pig 실행방법

SCRIPT/ Batch mode : Hadoop Shell에서 실행한다. (테스팅 떄 주로 사용)

GRUNT/ Interactive : Pig Shell로 사용 (테스팅 때 주로 사용)

Embedded mode : Java를 사용 (주로 생산 단계에서 사용)

 

 

참고(reference)

LinkedIn / Learning Hadoop / Lynn Langit

https://pig.apache.org/