[HADOOP] 하둡에서지도 함수에 매개 변수 전달하기
HADOOP하둡에서지도 함수에 매개 변수 전달하기
나는 Hadoop을 처음 사용합니다. mapper 클래스의 맵 함수 내에서 main 함수 (Java 프로그램)의 명령 행 인수에 액세스하려고합니다. 이 방법을 제안하십시오.
해결법
-
==============================
1.Hadoop 0.20은 새로운 MR API를 도입했기 때문에 새 API (o.a.h.mapreduce 패키지)와 기존 MR API (o.a.h.mapred)간에 기능상의 차이는 거의 없습니다. 단, 새 API를 사용하여 맵퍼 및 축소 기 내에서 데이터를 가져올 수 있습니다. Arnon이 언급 한 것은 이전 API를 사용하는 것입니다.
Hadoop 0.20은 새로운 MR API를 도입했기 때문에 새 API (o.a.h.mapreduce 패키지)와 기존 MR API (o.a.h.mapred)간에 기능상의 차이는 거의 없습니다. 단, 새 API를 사용하여 맵퍼 및 축소 기 내에서 데이터를 가져올 수 있습니다. Arnon이 언급 한 것은 이전 API를 사용하는 것입니다.
새로운 API와 이전 API를 사용하여 매개 변수를 전달하려면이 도움말을 참조하십시오.
-
==============================
2.구성에 매개 변수를 매달아 전달할 수 있습니다.
구성에 매개 변수를 매달아 전달할 수 있습니다.
JobConf job = new JobConf(new Configuration(), TheJob.class); job.setLong("Param Name",longValue)
Configuration 클래스에는 몇 가지 set 메소드 (Long, Int, Strings 등)가 있으므로 여러 유형의 매개 변수를 전달할 수 있습니다. 지도 작업에서 컨텍스트 (getConfiguration)에서 구성을 가져올 수 있습니다.
-
==============================
3.최근 Hadoop (예 : 0.2 이상> 2.4 이상)에서 작업 구성 중에 다음과 같은 옵션을 설정할 수 있습니다.
최근 Hadoop (예 : 0.2 이상> 2.4 이상)에서 작업 구성 중에 다음과 같은 옵션을 설정할 수 있습니다.
conf = new JobConf(MyJarClass); conf.set("myStringOption", "myStringValue"); conf.set("myIntOption", 42);
그리고 매퍼 / 리듀서 클래스의 configure () 메소드에서 해당 옵션을 검색하십시오 :
public static class MyMapper extends MapReduceBase implements Mapper<...> { Integer myIntegerOption; String myStringOption; @Override public void configure(JobConf job) { super.configure(job); myIntegerOption = job.getInt("myIntOption", -1); // nb: last arg is the default value if option is not set myStringOption = job.get("myStringOption", "notSet"); } @Override public void map(... key, ... value, OutputCollector<..> output, Reporter reporter) throws IOException { // here you can use the options in your processing processRecord(key, value, myIntOption, myStringOption); } }
configure ()는 레코드가 맵에 전달되거나 감축되기 전에 한 번 호출됩니다.
from https://stackoverflow.com/questions/8457183/passing-parameters-to-map-function-in-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hbase 연결이 거부되었습니다. (0) | 2019.06.18 |
---|---|
[HADOOP] Hive는 직업에 대한 감속기의 수를 어떻게 선택합니까? (0) | 2019.06.18 |
[HADOOP] hbase-site.xml의 zookeeper 쿼럼 설정은 정확히 무엇입니까? (0) | 2019.06.18 |
[HADOOP] http : // localhost : 50030 / - Hadoop 2.6.0에 연결할 수 없습니다. Ubuntu 14.04 LTS (0) | 2019.06.18 |
[HADOOP] Hadoop : map / reduce에서 처리 할 이미지 바이너리가있는 SequenceFile 생성 프로세스의 예제 프로세스 (0) | 2019.06.17 |