간단한 병에서 Hadoop으로 작업하는 jar를 트리거하여 HDFS, Actully를 사용하는 방법.이 명령을 수동으로 실행하고 있습니다. bin/hadoop jar ~/wordcount_classes/word.jar org. myorg.WordCount ~/hadoop-0.20.203.0/input1 ~/hadoop-0.20.203/output2 여기서 HDFS에 입력 및 출력 디렉토리를 제공하고 여기에 word.jar를 사용하고 있습니다. 그렇게하고 싶습니다. Java Project에서 자동으로 트리거됩니다.자바 코드에 의한 Hadoop 명령 트리거
1
A
답변
1
당신이 요구하는 모든 것은 항아리의 메인에 의해 수행됩니다. 매개 변수를 읽고, 작업 구성을 작성하고, 입력 및 출력 형식을 설정하고 마지막으로 작업을 실행합니다.
0
동일한 문제를 해결하기 위해 노력하고 있습니다.
public void runJar(File jar, String mainClass, File inputDir, File outputDir);
, 나는 당신의 명령 줄에서 호출하는 것입니다 org.apache.hadoop.util.RunJar.main(String[])
를 호출하고이 작업을 수행하려면 : 나는 다음과 같은 방법을 구현해야하는 프로그램 (의 드라이버를 부르 자)이있다. 이것은 커맨드 라인에서 당신이 운전사를 달리는 경우에 중대한 만 작동한다.
드라이버가 Tomcat 또는 Jetty와 같은 컨테이너 내부에서 실행되는 경우 문제가 발생합니다. 당신은
java.lang.ClassNotFoundException: org.apache.hadoop.fs.Path
이 때문에 클래스 로더와 방법 RunJar
놨입니다 같은 오류를 얻을 수 있습니다. 다음과 같이 수동으로 클래스 로더를 생성해야합니다.
final ClassLoader original = Thread.currentThread().getContextClassLoader();
try {
URL[] urls = new URL[] { jar.toURI().toURL() };
ClassLoader loader = new URLClassLoader(urls, originalLoader);
Thread.currentThread().setContextClassLoader(loader);
Class<?> mainClass = Class.forName(driverClass, true, loader);
Class[] argTypes = new Class[]{ Array.newInstance(String.class, 0).getClass()};
Method main = mainClass.getMethod("main", argTypes);
main.invoke(null, new Object[] { args });
} finally {
Thread.currentThread().setContextClassLoader(original);
}
관련 문제
- 1. 자바 트리거에 의한 자바 실행
- 2. hbase 명령 대 hadoop 명령
- 3. 코드에 의한 양방향 NHibernate 매핑
- 4. 타이머에 의한 데이터베이스 이벤트 트리거
- 5. regexp에 의한 확장 명령?
- 6. 코드에 의한 NHibernate 매핑 : 규약에 의한 userType 매핑
- 7. NHibernate 3.2 코드에 의한 맵핑의 우아한 IoC
- 8. 코드에 의한 OneToOne 매핑 nhibernate 3.2
- 9. 코드에 의한 NHibernate 3.2 매핑에서의 일대일 매핑
- 10. 타임 라인의 트리거 명령
- 11. 하위 컨트롤에 의한 패널 트리거 업데이트 방지
- 12. 코드에 의해 트리거 될 수있는 메뉴
- 13. 자바 코드에 문제가 있습니까?
- 14. 자바 스크립트에 의한 워드 디코더?
- 15. 자바 스크립트 window.open (..)에 의한
- 16. 자바 스크립트 이벤트 트리거
- 17. 자바 스크립트 - 트리거 오류
- 18. 자바 스크립트 이벤트 트리거
- 19. 자바 스크립트 텍스트 트리거
- 20. 자바 스크립트에서 트리거 이벤트
- 21. 코드에 의한 매핑을 사용하는 프로퍼티의 맵핑을 무시하는 법 "규약"
- 22. ASP.NET MVC : OutputCache 특성의 HTTP 상태 코드에 의한 필터링/변경
- 23. 의 ZOrder 내가 VBA Excel에서 코드에 의한 물체의의 ZOrder을 설정하려고
- 24. kmeans에서 mahout에 의한 클러스터링 오류가
- 25. 이 자바 코드에 문제가 있습니까?
- 26. 자바 스크립트 코드에 문제가 있습니다.
- 27. 자바 스크립트 코드에 오류가 있습니까?
- 28. 자바 스크립트 코드에 이상한 문제
- 29. 다음과 같은 자바 스크립트 코드에
- 30. Hadoop 패키지의 hadoop-ec2 : 영역을 지정하는 방법?
달성하려는 목표를 더 잘 설명 할 수 있습니까? – inquire
작업에 대한 Java 클래스에 의해 트리거되도록 Mapreducer 작업을 실행하려고 시도하고 입력 세트를 HDFS의 입력 디렉토리에 덤핑 한 후에 시작되었습니다. –