Hadoop Pig 튜토리얼: Apache Pig란 무엇입니까? Archi강의, 예시
Pig에 대한 소개부터 시작하겠습니다.
아파치 돼지 란 무엇입니까?
Pig는 대규모 데이터 세트를 분석하는 데 유용한 고급 프로그래밍 언어입니다. Pig는 Yahoo!의 개발 노력의 결과였습니다.
MapReduce 프레임워크에서 프로그램은 일련의 Map 및 Reduce 단계로 변환되어야 합니다. 그러나 이는 데이터 분석가에게 익숙한 프로그래밍 모델이 아닙니다. 따라서 이러한 격차를 해소하기 위해 Hadoop 위에 Pig라는 추상화가 구축되었습니다.
Apache Pig를 사용하면 사람들이 더 집중할 수 있습니다. 대량 데이터 세트를 분석하고 Map-Reduce 프로그램 작성에 소요되는 시간을 줄입니다. 뭐든지 잘먹는 돼지처럼 아파치돼지 프로그래밍 언어 모든 종류의 데이터에 대해 작동하도록 설계되었습니다. 그래서 이름이 돼지!

이 초보자용 Apache Pig 튜토리얼에서는 다음을 배울 수 있습니다.
돼지 Archi강의
이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 ArchiPig의 구조는 두 가지 구성 요소로 구성됩니다.
-
돼지 라틴, 그것은 언어이다
-
런타임 환경, PigLatin 프로그램을 실행하기 위한 것입니다.
Pig Latin 프로그램은 출력을 생성하기 위해 입력 데이터에 적용되는 일련의 연산 또는 변환으로 구성됩니다. 이러한 연산은 Hadoop Pig 실행 환경에서 실행 가능한 표현으로 변환되는 데이터 흐름을 설명합니다. 이러한 변환의 결과는 프로그래머가 알지 못하는 일련의 MapReduce 작업입니다. 따라서 어떤 의미에서 Hadoop의 Pig는 프로그래머가 실행의 본질보다는 데이터에 집중할 수 있도록 합니다.
PigLatin은 데이터 처리에서 익숙한 키워드(예: Join, Group 및 Filter)를 사용하는 비교적 엄격한 언어입니다.
실행 모드:
Hadoop의 Pig에는 두 가지 실행 모드가 있습니다.
-
로컬 모드: 이 모드에서는 Hadoop Pig 언어가 단일 모드로 실행됩니다. JVM 로컬 파일 시스템을 사용합니다. 이 모드는 Hadoop에서 Pig를 사용하여 소규모 데이터 세트를 분석하는 데에만 적합합니다.
-
Map Reduce 모드: 이 모드에서는 Pig Latin으로 작성된 쿼리가 다음으로 변환됩니다. MapReduce 작업이 실행되고 Hadoop 클러스터에서 실행됩니다(클러스터는 의사 또는 완전 분산일 수 있음). 완전 분산 클러스터가 있는 MapReduce 모드는 대규모 데이터 세트에서 Pig를 실행하는 데 유용합니다.
Pig를 다운로드하고 설치하는 방법
이제 이 Apache Pig 튜토리얼에서는 Pig를 다운로드하고 설치하는 방법을 알아봅니다.
실제 프로세스를 시작하기 전에 Hadoop이 설치되어 있는지 확인하십시오. 사용자를 'hduser'로 변경합니다(Hadoop 구성 중에 사용된 ID, Hadoop 구성 중에 사용된 사용자 ID로 전환할 수 있음)
단계 1) 다음 미러 사이트 중 하나에서 안정적인 최신 Pig Hadoop 릴리스를 다운로드하세요.
http://pig.apache.org/releases.html
선택 tar.gz (그리고 아닙니다 src.tar.gz) 다운로드할 파일.
단계 2) 다운로드가 완료되면 다운로드한 tar 파일이 포함된 디렉터리로 이동하여 Pig Hadoop을 설정하려는 위치로 tar를 이동합니다. 이 경우 /usr/local로 이동하겠습니다.
Pig Hadoop 파일이 포함된 디렉터리로 이동
cd /usr/local
아래와 같이 tar 파일의 내용을 추출합니다.
sudo tar -xvf pig-0.12.1.tar.gz
3 단계). 수정 ~ / .bashrc Pig 관련 환경 변수를 추가하려면
엽니다 ~ / .bashrc 원하는 텍스트 편집기에 파일을 저장하고 아래 수정 작업을 수행하세요.
export PIG_HOME=<Installation directory of Pig> export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH
단계 4) 이제 아래 명령을 사용하여 이 환경 구성을 소싱하세요.
. ~/.bashrc
단계 5) 다시 컴파일해야 합니다 돼지 지원 하둡 2.2.0
이를 수행하는 단계는 다음과 같습니다.
PIG 홈 디렉토리로 이동
cd $PIG_HOME
개미 설치
sudo apt-get install ant
참고: 다운로드가 시작되고 인터넷 속도에 따라 시간이 소모됩니다.
PIG 재컴파일
sudo ant clean jar-all -Dhadoopversion=23
이 재컴파일 프로세스에서는 여러 구성 요소가 다운로드됩니다. 따라서 시스템은 인터넷에 연결되어 있어야 합니다.
또한 이 프로세스가 어딘가에서 멈춰서 20분 이상 명령 프롬프트에 아무 움직임도 표시되지 않으면 다음을 누르세요. Ctrl + c 그리고 같은 명령을 다시 실행하세요.
우리의 경우에는 20분 정도 소요됩니다.
단계 6) 테스트 돼지 명령을 사용하여 설치
pig -help
예제 돼지 스크립트
Pig 스크립트를 사용하여 각 국가에서 판매된 제품 수를 알아 보겠습니다.
입력: 입력 데이터 세트는 CSV 파일입니다. SalesJan2009.csv
단계 1) 하둡 시작
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
단계 2) 빅 데이터의 돼지는 다음에서 파일을 가져옵니다. HDFS MapReduce 모드에서 결과를 다시 HDFS에 저장합니다.
파일 복사 SalesJan2009.csv (로컬 파일 시스템에 저장, ~/input/SalesJan2009.csv)를 HDFS(Hadoop 분산 파일 시스템) 홈 디렉터리로
이 Apache Pig 예제에서는 파일이 폴더 입력에 있습니다. 파일이 다른 위치에 저장되어 있는 경우 해당 이름을 지정하세요.
$HADOOP_HOME/bin/hdfs dfs -copyFromLocal ~/input/SalesJan2009.csv /
실제로 파일이 복사되었는지 확인합니다.
$HADOOP_HOME/bin/hdfs dfs -ls /
단계 3) 돼지 구성
먼저 $PIG_HOME/conf로 이동합니다.
cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original
엽니다 돼지.속성 원하는 텍스트 편집기를 사용하고 다음을 사용하여 로그 파일 경로를 지정합니다. 돼지.로그 파일
sudo gedit pig.properties
Loger는 이 파일을 사용하여 오류를 기록합니다.
단계 4) Pig 쿼리인 대화형 셸인 Pig 명령 프롬프트를 시작하는 'pig' 명령을 실행하세요.
pig
단계 5)Pig용 Grunt 명령 프롬프트에서 아래 Pig 명령을 순서대로 실행합니다.
— A. 데이터가 포함된 파일을 로드합니다.
salesTable = LOAD '/SalesJan2009.csv' USING PigStorage(',') AS (Transaction_date:chararray,Product:chararray,Price:chararray,Payment_Type:chararray,Name:chararray,City:chararray,State:chararray,Country:chararray,Account_Created:chararray,Last_Login:chararray,Latitude:chararray,Longitude:chararray);
이 명령 다음에 Enter를 누르십시오.
— B. 국가별 필드별 데이터 그룹화
GroupByCountry = GROUP salesTable BY Country;
— C. 각 튜플에 대해 '그룹별국가', 양식-> 국가 이름: 판매된 제품 수의 결과 문자열을 생성합니다.
CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));
이 명령 다음에 Enter를 누르십시오.
— D. Data Flow의 결과를 디렉터리에 저장합니다. '돼지_출력_판매' HDFS에서
STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');
이 명령을 실행하는 데는 시간이 걸립니다. 완료되면 다음 화면이 표시됩니다.
단계 6) 결과는 명령 인터페이스를 통해 다음과 같이 볼 수 있습니다.
$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000
결과는 웹 인터페이스를 통해 다음과 같이 볼 수도 있습니다.
웹 인터페이스를 통한 결과 -
엽니다 http://localhost:50070/
웹 브라우저에서.
지금 선택하십시오. '파일 시스템 찾아보기' 그리고 최대로 탐색 /사용자/hduser/pig_output_sales
엽니다 부품-r-00000