2013-07-16 5 views
3

MapReduce 모드에서 돼지 스크립트를 실행하는이 Java 프로그램이 있습니다.Java & Pig - PigServer를 사용하여 돼지 스크립트에 인수 전달

돼지 -f "데스크탑/text_v3.pig :이 같은 명령을 사용하여 돼지 스크립트에 인수를 전달할 수있어,

import java.io.IOException; 
import java.util.Properties; 
import org.apache.pig.ExecType; 
import org.apache.pig.PigServer; 
import org.apache.pig.backend.executionengine.ExecException; 


public class pigCV { 


public static void main(String args[]){ 

PigServer pigServer; 
try { 

Properties props = new Properties(); 
props.setProperty("fs.default.name", "hdfs://hdfs://localhost:8022"); 
props.setProperty("mapred.job.tracker", "localhost:8021"); 

pigServer = new PigServer(ExecType.MAPREDUCE, props); 

pigServer.registerScript("Desktop/text_v3.pig"); 

} 
catch (ExecException e) { e.printStackTrace(); } 
catch (IOException e) { e.printStackTrace(); } 

} 


} 

리눅스 명령 줄을 통해 다음은 코드입니다 "-param param1 = value1 -param2 = value2

그러나 PigServer를 사용하면 어떻게해야하는지 알 수 없습니다.

문제를 해결하는 방법을 알고 계십니까?

감사합니다.

public void registerScript(String fileName, Map<String,String> params) 

자바 문서의 설명은 다음과 같다 :

+0

registerscript 다음에이 스크립트를 어떻게 실행합니까? –

답변

3

당신은 registerScript 방법이 버전을 사용할 수 있습니다. "돼지 스크립트 파일을 등록 파일의 매개 변수는 PARAMS의 값으로 대체됩니다. "

관련 문제