Looking for apache-pig Answers? Try Ask4KnowledgeBase
Looking for apache-pig Keywords? Try Ask4Keywords

apache-pig아파치 - 돼지 시작하기


비고

이 절에서는 apache-pig가 무엇인지, 그리고 왜 개발자가 그것을 사용하고 싶어하는지에 대한 개요를 제공합니다.

또한 apache-pig 내의 큰 주제를 언급하고 관련 주제와 연결됩니다. apache-pig에 대한 문서는 새로운 것이므로, 관련 주제의 초기 버전을 만들어야 할 수도 있습니다.

설치 또는 설정

리눅스

요구 사항 (r0.16.0)

필수

현재 Apache-Pig 문서에 따르면 UnixWindows 운영 체제 만 지원합니다.

  • Hadoop 0.23.X, 1.X 또는 2.X
  • Java 1.6 또는 최신 버전이 설치되고 JAVA_HOME 환경 변수가 Java 설치 디렉토리로 설정 됨

선택 과목

  • Python 2.7 이상 (Python UDF)
  • 개미 1.8 (빌드 용)

최신 Pig 릴리스 다운로드

http://pig.apache.org/releases.html#Download 에서 최신 버전의 돼지를 다운로드 하십시오.

설치

mkdir Pig
cd Downloads/ 
tar zxvf pig-(latest-version).tar.gz 
tar zxvf pig-(latest-version).tar.gz 
mv pig-(latest-version).tar.gz/* /home/Pig/
 

구성

Apache Pig를 설치 한 후에는이를 구성해야합니다.

.bashrc 파일을 엽니 다.

vim ~/.bashrc
 

.bashrc 파일에서 다음 변수를 설정하십시오.

export PIG_HOME = /home/Pig
export PATH  = PATH:/home/Pig/bin
 

파일을 저장하고 환경에서 bashrc를 다시로드하십시오.

. ~/.bashrc
 

돼지 버전 확인 중

pig –version 
 

설치가 성공적으로 완료되면 위의 명령은 설치된 돼지 버전 번호를 표시합니다.

테스트 돼지 설치

pig -h
 

돼지와 관련된 모든 명령을 표시해야합니다.

이제 돼지가 로컬에 설치되고 같은 로컬 매개 변수를 사용하여 돼지를 실행할 수 있습니다.

pig -x local
 

Hadoop에 연결 중

Hadoop1.x 또는 2.x가 클러스터에 설치되어 있고 HADOOP_HOME 환경 변수가 설정되어있는 경우.

이전처럼 .bashrc에 줄을 추가하여 돼지를 Hadoop에 연결할 수 있습니다.

export PIG_CLASSPATH = $HADOOP_HOME/conf
 

달리기 돼지

실행 모드

pig (bin / pig) 명령을 사용하거나 jar 파일 (java -cp pig.jar) 을 실행하여 Pig를 실행할 수 있습니다.

PIG 스크립트는 3 가지 모드로 실행될 수 있습니다 :

  • 로컬 모드

     pig -x local ...
     
  • Mapreduce 모드 (기본 모드)

     pig -x mapreduce ...
          (or)
     pig ...
     
  • Tez 로컬 모드

     pig -x tez ...
     

대화식 모드

돼지는 Grunt 쉘을 사용하여 대화 형 모드에서 실행할 수 있습니다. 돼지 라틴어 문과 명령은이 셸에서 대화식으로 입력 할 수 있습니다.

$ pig -x <mode> <enter>
grunt>
 

Mode 는 이전 섹션에서 설명한 실행 모드 중 하나 일 수 있습니다.

배치 모드

돼지는 일괄 처리 모드로 실행될 수도 있습니다. 여기에는 돼지 명령문 및 명령 목록이 들어있는 .pig 파일이 제공됩니다.

$ pig -x <mode> <script.pig>
grunt>
 

마찬가지로 Mode 는 이전 섹션에서 설명한 실행 모드 중 하나 일 수 있습니다.

돼지 란 무엇인가?

Pig는 Hadoop에서 병렬로 데이터 흐름을 실행하는 엔진을 제공합니다. 이러한 데이터 흐름을 표현하기 위해 Pig Latin이라는 언어가 포함되어 있습니다. Pig Latin에는 사용자가 데이터 읽기, 처리 및 쓰기를위한 자체 기능을 개발할 수있는 기능뿐만 아니라 다양한 데이터 조작 (조인, 정렬, 필터 등)을위한 연산자가 포함됩니다. 돼지는 아파치 오픈 소스 프로젝트입니다. 즉, 사용자는 소스 또는 바이너리로 다운로드하여 자유롭게 사용하고, 기여하고, Apache License의 조항에 따라 제품에 사용하고, 적합하다고 생각되는 방식으로 변경할 수 있습니다.

돼지의 단어 수 예

입력 파일

Mary had a little lamb
its fleece was white as snow
and everywhere that Mary went
the lamb was sure to go.
 

돼지 단어 카운트 코드

-- Load input from the file named Mary, and call the single
-- field in the record 'line'.
input = load 'mary' as (line);

-- TOKENIZE splits the line into a field for each word.
-- flatten will take the collection of records returned by
-- TOKENIZE and produce a separate record for each one, calling the single
-- field in the record word.
words = foreach input generate flatten(TOKENIZE(line)) as word;

-- Now group them together by each word.
grpd = group words by word;

-- Count them.
cntd = foreach grpd generate group, COUNT(words);

-- Print out the results.
dump cntd;
 

산출

Mary,2
had,1
a,1
little,1
lamb,2
its,1
fleece,1
was,2
white,1
as,1
snow,1
and,1
everywhere,1
that,1
went,1
the,1
sure,1
to,1
go,1