{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name                   = 아파치 피그<br />Apache Pig
| logo                   = 
| screenshot             =
| caption                =
| developer              = [[아파치 소프트웨어 재단]]
| status                 = 지원 중
| latest release version = 0.17.0
| latest release date    = {{시작 날짜와 나이|2017|06|19}}
| latest preview version = 
| latest preview date    =
| operating system       = [[크로스 플랫폼]]
| programming language   = [[자바 (프로그래밍 언어)|자바]]
| genre                  =
| posix compliant        = 
| license                = [[아파치 라이선스]] 2.0
| website                = {{URL|http://pig.apache.org/}}
}}

'''피그'''({{lang|en|Pig}})<ref name="mainpage">{{웹 인용|url=http://pig.apache.org/|title=Hadoop: Apache Pig|accessdate=Sep 2, 2011}}</ref>는 대용량 데이터 집합을 분석하기 위한 플랫폼으로 [[아파치 하둡]](Apache Hadoop)을 이용하여 [[맵리듀스]](MapReduce)를 사용하기 위한 높은 수준의 [[스크립트 언어]]와 이를 위한 인프라로 구성되어 있다.

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

피그는 처음에 [[야후]] 연구소에서 2006년경에 매우 커다란 데이터 집합들을 처리하기 위한 맵리듀스 쟙들을 계획하지 않고 필요할 때 생성하고 처리하기 위한 방법을 연구하는 목적으로 개발되었다.<ref>{{웹 인용|url=http://developer.yahoo.com/blogs/hadoop/posts/2008/10/pig_-_the_road_to_an_efficient_high-level_language_for_hadoop/|title=Yahoo Blog:Pig – The Road to an Efficient High-level language for Hadoop|accessdate=Nov 1, 2010|보존url=https://web.archive.org/web/20120913063259/http://developer.yahoo.com/blogs/hadoop/posts/2008/10/pig_-_the_road_to_an_efficient_high-level_language_for_hadoop/#|보존날짜=2012-09-13|url-status=dead}}</ref> 2007년<ref>{{웹 인용|url=http://developer.yahoo.com/blogs/hadoop/posts/2008/10/pig_-_the_road_to_an_efficient_high-level_language_for_hadoop/|title=Yahoo Blog:Pig – The Road to an Efficient High-level language for Hadoop|accessdate=Nov 1, 2010|보존url=https://web.archive.org/web/20120913063259/http://developer.yahoo.com/blogs/hadoop/posts/2008/10/pig_-_the_road_to_an_efficient_high-level_language_for_hadoop/#|보존날짜=2012-09-13|url-status=dead}}</ref> [[아파치 소프트웨어 재단]]으로 옮겨졌다.<ref>{{웹 인용|url=http://apache.org/|title=The Apache Software Foundation|accessdate=Nov 1, 2010}}</ref>

== 역사 ==
{| class="wikitable"
|-
! 버전
! 최초 출시일
! 최신 버전
! 출시일<ref>{{웹 인용|url=https://pig.apache.org/releases.html|title=Apache Pig Releases|website=Apache|access-date=2019-03-13}}</ref>
|-
| {{Version|o|0.1}}
| 2008-09-11
| 0.1.1
| 2008-12-05
|-
| {{Version|o|0.2}}
| 2009-04-08
| 0.2.0
| 2009-04-08
|-
| {{Version|o|0.3}}
| 2009-06-25
| 0.3.0
| 2009-06-25
|-
| {{Version|o|0.4}}
| 2009-08-29
| 0.4.0
| 2009-08-29
|-
| {{Version|o|0.5}}
| 2009-09-29
| 0.5.0
| 2009-09-29
|-
| {{Version|o|0.6}}
| 2010-03-01
| 0.6.0
| 2010-03-01
|-
| {{Version|o|0.7}}
| 2010-05-13
| 0.7.0
| 2010-05-13
|-
| {{Version|o|0.8}}
| 2010-12-17
| 0.8.1
| 2011-04-24
|-
| {{Version|o|0.9}}
| 2011-07-29
| 0.9.2
| 2012-01-22
|-
| {{Version|o|0.10}}
| 2012-01-22
| 0.10.1
| 2012-04-25
|-
| {{Version|o|0.11}}
| 2013-02-21
| 0.11.1
| 2013-04-01
|-
| {{Version|o|0.12}}
| 2013-10-14
| 0.12.1
| 2014-04-14
|-
| {{Version|o|0.13}}
| 2014-07-04
| 0.13.0
| 2014-07-04
|-
| {{Version|o|0.14}}
| 2014-11-20
| 0.14.0
| 2014-11-20
|-
| {{Version|o|0.15}}
| 2015-06-06
| 0.15.0
| 2015-06-06
|-
| {{Version|o|0.16}}
| 2016-06-08
| 0.16.0
| 2016-06-08
|-
| {{Version|c|0.17}}
| 2017-06-19
| 0.17.0
| 2017-06-19
|-
| colspan="5" | {{smalldiv|{{Version |l |show=111110}}}}
|}

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

<syntaxhighlight lang=pig>
 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';
</syntaxhighlight>

== 같이 보기 ==
* [[하둡]]
* [[아파치 스쿱]]
* [[아파치 주키퍼]]
* [[아파치 하이브]]
* [[아파치 HBase]]

== 각주 ==
{{각주}}

== 외부 링크 ==
* {{언어링크|en}} [http://pig.apache.org/ 아파치 피그 공식 페이지]

{{아파치 소프트웨어}}

[[분류:아파치 소프트웨어 재단 프로젝트|피그]]
[[분류:하둡|피그]]
[[분류:질의 언어]]
[[분류:자바로 작성된 자유 소프트웨어]]
[[분류:아파치 라이선스 소프트웨어]]
[[분류:데이터 모델링 언어]]