기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Pig 작업 제출
이 섹션에서는 Amazon EMR 클러스터에 Pig 작업을 제출하는 방법을 보여줍니다. 다음 예제는 전송된 총 바이트 수, 상위 50개 IP 주소 목록, 상위 50개 외부 참조자 목록, Bing과 Google을 사용한 상위 50개 검색어 등이 포함된 보고서를 생성합니다. Pig 스크립트는 Amazon S3 버킷(s3://elasticmapreduce/samples/pig-apache/do-reports2.pig
)에 있습니다. 입력 데이터는 Amazon S3 버킷(s3://elasticmapreduce/samples/pig-apache/input
)에 있습니다. 출력은 Amazon S3 버킷에 저장됩니다.
Amazon EMR 콘솔을 사용하여 Pig 작업을 제출하세요
이 예제에서는 Amazon EMR 콘솔을 사용하여 클러스터에 Pig 단계를 추가하는 방법을 설명합니다.
Pig 단계를 제출하려면
https://console.aws.amazon.com/emr
에서 아마존 EMR 콘솔을 엽니다. -
클러스터 생성을 선택하여 Pig가 설치된 클러스터를 생성합니다. 클러스터를 생성하는 방법에 대한 단계는 Amazon EMR 클러스터 계획 및 구성을 참조하십시오.
-
다음을 사용하여 SSH 마스터 노드에 SSH 연결에 설명된 단계에 따라 터미널을 열고 클러스터의 마스터 노드로 이동합니다. 완료했으면 다음 단계를 실행합니다.
sudo mkdir -p /home/hadoop/lib/pig/ sudo aws s3 cp s3://elasticmapreduce/libs/pig/0.3/piggybank-0.3-amzn.jar /home/hadoop/lib/pig/piggybank.jar
-
콘솔에서 클러스터 목록을 클릭하고 생성한 클러스터의 이름을 선택합니다.
-
단계 섹션으로 스크롤하여 섹션을 확장한 후 단계 추가를 선택합니다.
-
단계 추가 대화 상자에서 다음을 수행합니다.
-
단계 유형에서 Pig 프로그램을 선택합니다.
-
이름에서 기본 이름(Pig 프로그램)을 수락하거나 새 이름을 입력합니다.
-
스크립트 S3 위치에 Pig 스크립트의 위치를 입력합니다. 예:
s3://elasticmapreduce/samples/pig-apache/do-reports2.pig
. -
입력 S3 위치에 입력 데이터의 위치를 입력합니다. 예:
s3://elasticmapreduce/samples/pig-apache/input
. -
출력 S3 위치에서 Amazon S3 출력 버킷의 이름을 입력하거나 찾아봅니다.
-
인수에서 필드를 비워 둡니다.
-
실패 시 작업에서 기본 옵션(계속)을 그대로 사용합니다.
-
-
추가를 선택합니다. 단계가 콘솔에 [Pending] 상태로 나타납니다.
-
단계의 상태는 단계가 실행됨에 따라 대기 중에서 실행 중을 거쳐 완료됨으로 바뀝니다. 상태를 업데이트하려면 작업 열 위의 새로 고침 아이콘을 선택합니다. 단계가 완료되면 Pig 단계의 출력 파일이 있는지 Amazon S3 버킷을 확인합니다.
를 사용하여 Pig 작업을 제출하십시오. AWS CLI
를 사용하여 Pig 단계를 제출하려면 AWS CLI
를 사용하여 클러스터를 시작하는 경우 --applications
파라미터를 사용하여 Pig를 설치합니다. AWS CLI Pig 단계를 제출하려면 --steps
파라미터를 사용합니다.
-
Pig가 설치된 클러스터를 시작하려면 다음 명령을 입력하고 다음을 대체하십시오.
myKey
그리고DOC-EXAMPLE-BUCKET/
EC2키 페어와 Amazon S3 버킷의 이름을 입력합니다.aws emr create-cluster \ --name "
Test cluster
" \ --log-uri s3://DOC-EXAMPLE-BUCKET/
\ --release-labelemr-5.36.2
\ --applications Name=Pig \ --use-default-roles \ --ec2-attributes KeyName=myKey
\ --instance-typem5.xlarge
\ --instance-count3
참고
가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.
--instance-groups
파라미터를 사용하지 않고 인스턴스 수를 지정하면 단일 마스터 노드가 시작되고 나머지 인스턴스는 코어 노드로 시작됩니다. 모든 노드에는 이 명령에 지정된 인스턴스 유형이 사용됩니다.참고
이전에 기본 EMR 서비스 역할 및 EC2 인스턴스 프로필을 생성하지 않은 경우,
create-cluster
하위 명령을 입력하기 전에 입력하여 생성하십시오.aws emr create-default-roles
-
Pig 단계를 제출하려면 다음 명령을 입력하고 다음을 대체하십시오.
myClusterId
그리고DOC-EXAMPLE-BUCKET
클러스터 ID 및 Amazon S3 버킷 이름을 사용하여aws emr add-steps \ --cluster-id
myClusterId
\ --steps Type=PIG,Name="Pig Program",ActionOnFailure=CONTINUE,Args=[-f,s3://elasticmapreduce/samples/pig-apache/do-reports2.pig,-p,INPUT=s3://elasticmapreduce/samples/pig-apache/input,-p,OUTPUT=s3://DOC-EXAMPLE-BUCKET
/pig-apache/output]이 명령은 단계의
State
를 확인하는 데 사용할 수 있는 단계 ID를 반환합니다. -
describe-step
명령을 사용하여 단계 상태를 쿼리합니다.aws emr describe-step --cluster-id
myClusterId
--step-ids-1XXXXXXXXXXA
단계가 실행됨에 따라 단계의
State
가PENDING
에서RUNNING
, 그리고COMPLETED
로 바뀝니다. 단계가 완료되면 Pig 단계의 출력 파일이 있는지 Amazon S3 버킷을 확인합니다.
에서 Amazon EMR 명령을 사용하는 방법에 대한 자세한 내용은 AWS CLI 명령 참조를 참조하십시오. AWS CLI