기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 단계 제출 JAR
사용자 지정은 Amazon S3에 업로드할 수 있는 컴파일된 Java 프로그램을 JAR 실행합니다. 시작하려는 Hadoop 버전에 맞게 프로그램을 컴파일하고 Amazon 클러스터에 CUSTOM_JAR
단계를 제출해야 합니다. EMR 파일 컴파일 방법에 대한 자세한 내용은 을 참조하십시오. JAR Amazon EMR을 사용하여 바이너리 빌드
하둡 MapReduce 애플리케이션 구축에 대한 자세한 내용은 Apache Hadoop MapReduce 설명서의 자습서를
이 섹션에서는 Amazon에서 사용자 지정 JAR 단계를 제출하는 기본 사항을 다룹니다EMR. 사용자 정의 JAR 단계를 제출하면 Java 프로그래밍 언어로 데이터를 처리하는 스크립트를 작성할 수 있습니다.
콘솔을 사용하여 사용자 지정 JAR 단계를 제출하십시오.
이 예제에서는 Amazon EMR 콘솔을 사용하여 실행 중인 클러스터에 사용자 지정 JAR 단계를 제출하는 방법을 설명합니다.
콘솔을 사용하여 사용자 지정 JAR 단계를 제출하려면
https://console.aws.amazon.com/emr
에서 아마존 EMR 콘솔을 엽니다. -
클러스터 목록에서 클러스터의 이름을 선택합니다.
-
단계 섹션으로 스크롤하여 섹션을 확장한 후 단계 추가를 선택합니다.
-
단계 추가 대화 상자에서 다음을 수행합니다.
-
단계 유형에서는 사용자 지정을 선택합니다JAR.
-
이름에 기본 이름 (사용자 지정JAR) 을 그대로 사용하거나 새 이름을 입력합니다.
-
JARS3 위치의 경우 JAR 파일 위치를 입력하거나 찾아보십시오. JAR위치는 S3로 이동하는 경로일 수도 있고 클래스 경로에 있는 정규화된 Java 클래스일 수도 있습니다.
-
Arguments(인수)에 필수 인수를 공백으로 구분된 문자열로 입력하거나 필드를 비워 둡니다.
-
실패 시 작업에서 기본 옵션(계속)을 그대로 사용합니다.
-
-
추가를 선택합니다. 단계가 콘솔에 [Pending] 상태로 나타납니다.
-
단계의 상태는 단계가 실행됨에 따라 대기 중에서 실행 중을 거쳐 완료됨으로 바뀝니다. 상태를 업데이트하려면 Actions(작업) 열 위의 Refresh(새로 고침) 아이콘을 선택합니다.
클러스터를 시작하고 다음을 사용하여 사용자 지정 JAR 단계를 제출합니다. AWS CLI
클러스터를 시작하고 다음을 사용하여 사용자 지정 JAR 단계를 제출하려면 AWS CLI
클러스터를 시작하고 를 사용하여 사용자 지정 JAR 단계를 제출하려면 --steps
매개 변수와 함께 create-cluster
하위 명령을 입력합니다. AWS CLI
-
클러스터를 시작하고 사용자 지정 JAR 단계를 제출하려면 다음 명령을 입력하고 바꾸십시오.
myKey
EC2키 페어의 이름으로 바꾸고mybucket
버킷 이름을 입력하세요.aws emr create-cluster --name "
Test cluster
" --release-labelemr-7.2.0
\ --applications Name=Hue
Name=Hive
Name=Pig
--use-default-roles \ --ec2-attributes KeyName=myKey
--instance-typem5.xlarge
--instance-count3
\ --steps Type=CUSTOM_JAR
,Name="Custom JAR Step
",ActionOnFailure=CONTINUE
,Jar=pathtojarfile
,Args=["pathtoinputdata
","pathtooutputbucket
","arg1
","arg2
"]참고
가독성을 위해 Linux 줄 연속 문자(\)가 포함됩니다. Linux 명령에 사용하거나 제외할 수 있습니다. Windows에서는 제외시키거나 캐럿(^)으로 바꿉니다.
--instance-groups
파라미터를 사용하지 않고 인스턴스 수를 지정하면 단일 프라이머리 노드가 시작되고 나머지 인스턴스는 코어 노드로 시작됩니다. 모든 노드에서 이 명령에 지정한 인스턴스 유형을 사용합니다.참고
이전에 기본 Amazon EMR 서비스 역할 및 EC2 인스턴스 프로필을 생성하지 않은 경우,
create-cluster
하위 명령을 입력하기 전에 입력하여 생성하십시오.aws emr create-default-roles
에서 Amazon EMR 명령을 사용하는 방법에 대한 자세한 내용은 AWS CLI을 참조하십시오https://docs.aws.amazon.com/cli/latest/reference/emr.
타사 종속성
프로그램에서 사용하기 JARs 위해 MapReduce 클래스 경로에 포함해야 하는 경우가 있을 수 있습니다. 이 작업에는 두 가지 옵션이 있습니다.
-
클러스터를 시작하고 다음을 사용하여 사용자 지정 JAR 단계를 제출합니다. AWS CLI의 절차의 경우
--libjars s3://
을 단계 옵션에 포함합니다.URI_to_JAR
-
mapred-site.xml
에서 수정된mapreduce.application.classpath
설정을 사용하여 클러스터를 시작합니다.mapred-site
구성 분류를 사용하십시오. 를 사용하여 클러스터를 만들려면 다음과 AWS CLI같이 하십시오.aws emr create-cluster --release-label
emr-7.2.0
\ --applications Name=Hue
Name=Hive
Name=Pig
--use-default-roles \ --instance-type m5.xlarge --instance-count 2 --ec2-attributes KeyName=myKey
\ --steps Type=CUSTOM_JAR
,Name="Custom JAR Step
",ActionOnFailure=CONTINUE
,Jar=pathtojarfile
,Args=["pathtoinputdata
","pathtooutputbucket
","arg1
","arg2
"] \ --configurations https://s3.amazonaws.com/mybucket/myfolder/myConfig.jsonmyConfig.json
:[ { "Classification": "mapred-site", "Properties": { "mapreduce.application.classpath": "
path1
,path2
" } } ]쉼표로 구분된 경로 목록을 각 작업의 JVM 클래스 경로에 추가해야 합니다.