Hadoop Pig 튜토리얼: Apache Pig란 무엇입니까? Archi강의, 예시

Pig에 대한 소개부터 시작하겠습니다.

아파치 돼지 란 무엇입니까?

Pig는 대규모 데이터 세트를 분석하는 데 유용한 고급 프로그래밍 언어입니다. Pig는 Yahoo!의 개발 노력의 결과였습니다.

MapReduce 프레임워크에서 프로그램은 일련의 Map 및 Reduce 단계로 변환되어야 합니다. 그러나 이는 데이터 분석가에게 익숙한 프로그래밍 모델이 아닙니다. 따라서 이러한 격차를 해소하기 위해 Hadoop 위에 Pig라는 추상화가 구축되었습니다.

Apache Pig를 사용하면 사람들이 더 집중할 수 있습니다. 대량 데이터 세트를 분석하고 Map-Reduce 프로그램 작성에 소요되는 시간을 줄입니다. 뭐든지 잘먹는 돼지처럼 아파치돼지 프로그래밍 언어 모든 종류의 데이터에 대해 작동하도록 설계되었습니다. 그래서 이름이 돼지!

그래서 이름이 돼지!
그래서 이름이 돼지!

이 초보자용 Apache Pig 튜토리얼에서는 다음을 배울 수 있습니다.

돼지 Archi강의

최대 XNUMXW 출력을 제공하는 ArchiPig의 구조는 두 가지 구성 요소로 구성됩니다.

  1. 돼지 라틴, 그것은 언어이다
  2. 런타임 환경, PigLatin 프로그램을 실행하기 위한 것입니다.

Pig Latin 프로그램은 출력을 생성하기 위해 입력 데이터에 적용되는 일련의 작업 또는 변환으로 구성됩니다. 이러한 작업은 Hadoop Pig 실행 환경에 의해 실행 가능한 표현으로 변환되는 데이터 흐름을 설명합니다. 아래에는 이러한 변환의 결과가 프로그래머가 인식하지 못하는 일련의 MapReduce 작업입니다. 따라서 Hadoop의 Pig를 사용하면 프로그래머가 실행의 성격보다는 데이터에 집중할 수 있습니다.

PigLatin은 데이터 처리에서 익숙한 키워드(예: Join, Group 및 Filter)를 사용하는 비교적 엄격한 언어입니다.

Hadoop PIG 튜토리얼: 소개, 설치 및 예
돼지 Archi강의

실행 모드:

Hadoop의 Pig에는 두 가지 실행 모드가 있습니다.

  1. 로컬 모드: 이 모드에서는 Hadoop Pig 언어가 단일 모드로 실행됩니다. JVM 로컬 파일 시스템을 사용합니다. 이 모드는 Hadoop에서 Pig를 사용하여 소규모 데이터 세트를 분석하는 데에만 적합합니다.
  2. Map Reduce 모드: 이 모드에서는 Pig Latin으로 작성된 쿼리가 다음으로 변환됩니다. MapReduce 작업은 Hadoop 클러스터에서 실행됩니다(클러스터는 의사 클러스터이거나 완전 분산일 수 있음). 완전히 분산된 클러스터를 사용하는 MapReduce 모드는 대규모 데이터 세트에서 Pig를 실행하는 데 유용합니다.

Pig를 다운로드하고 설치하는 방법

이제 이 Apache Pig 튜토리얼에서는 Pig를 다운로드하고 설치하는 방법을 알아봅니다.

실제 프로세스를 시작하기 전에 Hadoop이 설치되어 있는지 확인하십시오. 사용자를 'hduser'로 변경합니다(Hadoop 구성 중에 사용된 ID, Hadoop 구성 중에 사용된 사용자 ID로 전환할 수 있음)

Hadoop PIG 튜토리얼: 소개, 설치 및 예

단계 1) 다음 미러 사이트 중 하나에서 안정적인 최신 Pig Hadoop 릴리스를 다운로드하세요.

http://pig.apache.org/releases.html

Hadoop PIG 튜토리얼: 소개, 설치 및 예

선택 tar.gz (그리고 아닙니다 src.tar.gz) 다운로드할 파일.

단계 2) 다운로드가 완료되면 다운로드한 tar 파일이 포함된 디렉터리로 이동하여 Pig Hadoop을 설정하려는 위치로 tar를 이동합니다. 이 경우 /usr/local로 이동하겠습니다.

Hadoop PIG 튜토리얼: 소개, 설치 및 예

Pig Hadoop 파일이 포함된 디렉터리로 이동

cd /usr/local

아래와 같이 tar 파일의 내용을 추출합니다.

sudo tar -xvf pig-0.12.1.tar.gz

Hadoop PIG 튜토리얼: 소개, 설치 및 예

3 단계). 수정 ~ / .bashrc Pig 관련 환경 변수를 추가하려면

엽니다 ~ / .bashrc 원하는 텍스트 편집기에 파일을 저장하고 아래 수정 작업을 수행하세요.

export PIG_HOME=<Installation directory of Pig>
export PATH=$PIG_HOME/bin:$HADOOP_HOME/bin:$PATH

Hadoop PIG 튜토리얼: 소개, 설치 및 예

단계 4) 이제 아래 명령을 사용하여 이 환경 구성을 소싱하세요.

. ~/.bashrc

Hadoop PIG 튜토리얼: 소개, 설치 및 예

단계 5) 다시 컴파일해야 합니다 돼지 지원 하둡 2.2.0

이를 수행하는 단계는 다음과 같습니다.

PIG 홈 디렉토리로 이동

cd $PIG_HOME

개미 설치

sudo apt-get install ant

Hadoop PIG 튜토리얼: 소개, 설치 및 예

참고: 다운로드가 시작되고 인터넷 속도에 따라 시간이 소모됩니다.

PIG 재컴파일

sudo ant clean jar-all -Dhadoopversion=23

Hadoop PIG 튜토리얼: 소개, 설치 및 예

이 재컴파일 프로세스에서는 여러 구성 요소가 다운로드됩니다. 따라서 시스템은 인터넷에 연결되어 있어야 합니다.

또한 이 프로세스가 어딘가에서 멈춰서 20분 이상 명령 프롬프트에 아무 움직임도 표시되지 않으면 다음을 누르세요. Ctrl + c 그리고 같은 명령을 다시 실행하세요.

우리의 경우에는 20분 정도 소요됩니다.

Hadoop PIG 튜토리얼: 소개, 설치 및 예

단계 6) 테스트 돼지 명령을 사용하여 설치

pig -help

Hadoop PIG 튜토리얼: 소개, 설치 및 예

예제 돼지 스크립트

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 PIG 튜토리얼: 소개, 설치 및 예

실제로 파일이 복사되었는지 확인합니다.

$HADOOP_HOME/bin/hdfs dfs -ls /

Hadoop PIG 튜토리얼: 소개, 설치 및 예

단계 3) 돼지 구성

먼저 $PIG_HOME/conf로 이동합니다.

cd $PIG_HOME/conf
sudo cp pig.properties pig.properties.original

Hadoop PIG 튜토리얼: 소개, 설치 및 예

엽니다 돼지.속성 원하는 텍스트 편집기를 사용하고 다음을 사용하여 로그 파일 경로를 지정합니다. 돼지.로그 파일

sudo gedit pig.properties

Hadoop PIG 튜토리얼: 소개, 설치 및 예

Loger는 이 파일을 사용하여 오류를 기록합니다.

단계 4) Pig 쿼리인 대화형 셸인 Pig 명령 프롬프트를 시작하는 'pig' 명령을 실행하세요.

pig

Hadoop 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를 누르십시오.

Hadoop PIG 튜토리얼: 소개, 설치 및 예

— B. 국가별 필드별 데이터 그룹화

GroupByCountry = GROUP salesTable BY Country;

Hadoop PIG 튜토리얼: 소개, 설치 및 예

— C. 각 튜플에 대해 '그룹별국가', 양식-> 국가 이름: 판매된 제품 수의 결과 문자열을 생성합니다.

CountByCountry = FOREACH GroupByCountry GENERATE CONCAT((chararray)$0,CONCAT(':',(chararray)COUNT($1)));

이 명령 다음에 Enter를 누르십시오.

Hadoop PIG 튜토리얼: 소개, 설치 및 예

— D. Data Flow의 결과를 디렉터리에 저장합니다. '돼지_출력_판매' HDFS에서

STORE CountByCountry INTO 'pig_output_sales' USING PigStorage('\t');

Hadoop PIG 튜토리얼: 소개, 설치 및 예

이 명령을 실행하는 데 시간이 좀 걸립니다. 완료되면 다음 내용을 확인해야 합니다.wing 화면

Hadoop PIG 튜토리얼: 소개, 설치 및 예

단계 6) 결과는 명령 인터페이스를 통해 다음과 같이 볼 수 있습니다.

$HADOOP_HOME/bin/hdfs dfs -cat pig_output_sales/part-r-00000

Hadoop PIG 튜토리얼: 소개, 설치 및 예

결과는 웹 인터페이스를 통해 다음과 같이 볼 수도 있습니다.

웹 인터페이스를 통한 결과 -

엽니다 http://localhost:50070/ 웹 브라우저에서.

Hadoop PIG 튜토리얼: 소개, 설치 및 예

지금 선택하십시오. '파일 시스템 찾아보기' 그리고 최대로 탐색 /사용자/hduser/pig_output_sales

Hadoop PIG 튜토리얼: 소개, 설치 및 예

엽니다 부품-r-00000

Hadoop PIG 튜토리얼: 소개, 설치 및 예