피그(Pig)[1]는 대용량 데이터 집합을 분석하기 위한 플랫폼으로 아파치 하둡(Apache Hadoop)을 이용하여 맵리듀스(MapReduce)를 사용하기 위한 높은 수준의 스크립트 언어와 이를 위한 인프라로 구성되어 있다.

아파치 피그
Apache Pig
개발자아파치 소프트웨어 재단
안정화 버전
0.17.0 / 2017년 6월 19일(6년 전)(2017-06-19)
저장소
프로그래밍 언어자바
운영 체제크로스 플랫폼
라이선스아파치 라이선스 2.0
상태지원 중
웹사이트pig.apache.org

현재, 피그의 인프라 구조 계층은 컴파일러로 구성되어 있으며 대용량 병렬처리를 위한 맵리듀스 프로그램의 데이터 변환 순서를 만든다. 피그의 언어 계층은 현재 피그 라틴이라 불리는 텍스트 기반의 언어로 이루어져 있다. 이것의 주요 특징은 프로그래밍하기가 쉬우며, 최적화 할 수 있는 방법을 제공하고 사용자가 특수 목적을 위한 자신의 함수를 만들 수 있는 확장성을 제공한다는 것이다.

피그는 처음에 야후 연구소에서 2006년경에 매우 커다란 데이터 집합들을 처리하기 위한 맵리듀스 쟙들을 계획하지 않고 필요할 때 생성하고 처리하기 위한 방법을 연구하는 목적으로 개발되었다.[2] 2007년[3] 아파치 소프트웨어 재단으로 옮겨졌다.[4]

역사 편집

버전 최초 출시일 최신 버전 출시일[5]
오래된 버전, 지원 중단: 0.1 2008-09-11 0.1.1 2008-12-05
오래된 버전, 지원 중단: 0.2 2009-04-08 0.2.0 2009-04-08
오래된 버전, 지원 중단: 0.3 2009-06-25 0.3.0 2009-06-25
오래된 버전, 지원 중단: 0.4 2009-08-29 0.4.0 2009-08-29
오래된 버전, 지원 중단: 0.5 2009-09-29 0.5.0 2009-09-29
오래된 버전, 지원 중단: 0.6 2010-03-01 0.6.0 2010-03-01
오래된 버전, 지원 중단: 0.7 2010-05-13 0.7.0 2010-05-13
오래된 버전, 지원 중단: 0.8 2010-12-17 0.8.1 2011-04-24
오래된 버전, 지원 중단: 0.9 2011-07-29 0.9.2 2012-01-22
오래된 버전, 지원 중단: 0.10 2012-01-22 0.10.1 2012-04-25
오래된 버전, 지원 중단: 0.11 2013-02-21 0.11.1 2013-04-01
오래된 버전, 지원 중단: 0.12 2013-10-14 0.12.1 2014-04-14
오래된 버전, 지원 중단: 0.13 2014-07-04 0.13.0 2014-07-04
오래된 버전, 지원 중단: 0.14 2014-11-20 0.14.0 2014-11-20
오래된 버전, 지원 중단: 0.15 2015-06-06 0.15.0 2015-06-06
오래된 버전, 지원 중단: 0.16 2016-06-08 0.16.0 2016-06-08
현재 안정화 버전: 0.17 2017-06-19 0.17.0 2017-06-19
범례:
오래된 버전
오래된 버전, 지원 중
최신 버전
최신 미리보기 버전
배포 예정

예시 편집

아래는 피크 라틴의 워드 카운트 프로그램의 예시이다:

 input_lines = LOAD '/tmp/my-copy-of-all-pages-on-internet' AS (line:chararray);
 
 -- Extract words from each line and put them into a pig bag
 -- datatype, then flatten the bag to get one word on each row
 words = FOREACH input_lines GENERATE FLATTEN(TOKENIZE(line)) AS word;
 
 -- filter out any words that are just white spaces
 filtered_words = FILTER words BY word MATCHES '\\w+';
 
 -- create a group for each word
 word_groups = GROUP filtered_words BY word;
 
 -- count the entries in each group
 word_count = FOREACH word_groups GENERATE COUNT(filtered_words) AS count, group AS word;
 
 -- order the records by count
 ordered_word_count = ORDER word_count BY count DESC;
 STORE ordered_word_count INTO '/tmp/number-of-words-on-internet';

같이 보기 편집

참조 편집

  1. “Hadoop: Apache Pig”. 2011년 9월 2일에 확인함. 
  2. “Yahoo Blog:Pig – The Road to an Efficient High-level language for Hadoop”. 2012년 9월 13일에 원본 문서에서 보존된 문서. 2010년 11월 1일에 확인함. 
  3. “Yahoo Blog:Pig – The Road to an Efficient High-level language for Hadoop”. 2012년 9월 13일에 원본 문서에서 보존된 문서. 2010년 11월 1일에 확인함. 
  4. “The Apache Software Foundation”. 2010년 11월 1일에 확인함. 
  5. “Apache Pig Releases”. 《Apache》. 2019년 3월 13일에 확인함. 

외부 링크 편집