1
나는 클러스터를 만들고 AWS CLI를 통해 돼지 단계를 제출합니다. PIG 스크립트와 스크립트 입력 파일은 모두 S3 버킷에 저장됩니다.AWS CLI를 통해 돼지 프로그램을 제출할 때 S3 파일 위치를 지정하는 곳
예를 돼지 스크립트 :
REGISTER file:/usr/lib/pig/lib/piggybank.jar;
DEFINE XPath org.apache.pig.piggybank.evaluation.xml.XPath();
A = LOAD 's3://my-group/myfolder/somedata.xml' USING org.apache.pig.piggybank.storage.XMLLoader('item') AS (x:chararray);
B = FOREACH A GENERATE XPath(x, 'detail');
STORE B INTO 's3://my-group/myfolder/somedetails';
예를 CLI :
(적어도 실패하지 않은) 작업 것으로 보인다aws emr create-cluster \
--steps Type=PIG,Name='Pig program',ActionOnFailure=CONTINUE, \
Args=[-f,s3://my-group/myfolder/some_script.pig, \
-p,INPUT=s3://my-group/myfolder,-p,OUTPUT=s3://my-group/myfolder] \
--applications Name=Pig --enable-debugging \
--log-uri s3://my-group/myfolder --release-label emr-5.2.0 \
--instance-groups \
InstanceGroupType=MASTER,InstanceCount=1,InstanceType=m3.2xlarge \
InstanceGroupType=CORE,InstanceCount=5,InstanceType=c1.medium \
--name "Test cluster" --ec2-attributes KeyName=ClusterKeyPair
...
하지만, 두 위치 모두에서 s3://my-group/myfolder
을 지정해야합니까? 이것을 쓰는 것이 바람직한 방법이 아니라면?