[HADOOP] 하둡 맵퍼로 다중 입력
HADOOP하둡 맵퍼로 다중 입력
나는 하둡 감속기에 두 개의 파일을 보내려고하고있다. 나는 DistributedCache을 시도,하지만 난 주에 addCacheFile를 사용하여 넣어 아무것도, 매퍼에서 getLocalCacheFiles으로 돌아 가기 부여하지 않는 것 같습니다.
지금은 파일을 읽기 위해 파일 시스템을 사용하고 있지만, 난 그냥 파일의 이름을 보낼 수 있어요 그래서 나는 로컬로 실행하고 있습니다. 내가 진짜 하둡 시스템에서 실행중인 경우이 작업을 수행하는 방법을 궁금해.
그것을 읽고 있어요 파일을 제외하고 매퍼에 값을 보낼 어쨌든 무엇입니까?
해결법
-
==============================
1.또한 분산 캐시 문제 및 전송 파라미터를 많이했다. 나를 위해 일한 옵션은 다음과 같습니다 :
또한 분산 캐시 문제 및 전송 파라미터를 많이했다. 나를 위해 일한 옵션은 다음과 같습니다 :
분산 캐시 사용의 경우 : 나에게는지도에서 HDFS에 파일 또는 줄의 URL / 경로를 얻을 수있는 악몽 이었지만, 심볼릭 링크와 함께 일했다 작업의 실행 () 메서드
DistributedCache.addCacheFile(new URI(file+"#rules.dat"), conf); DistributedCache.createSymlink(conf);
다음지도에서 읽거나 감소 헤더, 방법 전에
public static FileSystem hdfs;
다음 설정에서 ()지도 또는 감소의 방법
hdfs = FileSystem.get(new Configuration()).open(new Path ("rules.dat"));
매개 변수의 경우 : 지도 또는 감소 (파일 이름 HDFS에서 열 수) 몇 가지 값을 보내기 :
public int run(String[] args) throws Exception { Configuration conf = new Configuration(); ... conf.set("level", otherArgs[2]); //sets variable level from command line, it could be a filename ... }
다음지도에서하거나 클래스를 감소 :
int level = Integer.parseInt(conf.get("level")); //this is int, but you can read also strings, etc.
-
==============================
2.분산 캐시는 사용자의 요구에 맞는 경우 - 그것은 갈 수있는 방법입니다.
분산 캐시는 사용자의 요구에 맞는 경우 - 그것은 갈 수있는 방법입니다.
getLocalCacheFiles는 로컬 모드와 분산 모드에서 다르게 작동합니다. (실제로 로컬 모드에서 작동하지 않습니다).
http://developer.yahoo.com/hadoop/tutorial/module5.html이 링크로 봐 문구를 찾습니다 : 경계의 참고로 :
from https://stackoverflow.com/questions/9148724/multiple-input-into-a-mapper-in-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡의 상단에 서블릿 컨테이너? (0) | 2019.09.20 |
---|---|
[HADOOP] 는 하둡 코어-site.xml 파일을 찾을 수 없기 때문에 스파크 작업이 실패합니다 (0) | 2019.09.20 |
[HADOOP] 문제 하둡에 RecommenderJob를 실행 (0) | 2019.09.20 |
[HADOOP] 돼지 필요한 유형의 스키마 변경 (0) | 2019.09.20 |
[HADOOP] MR 작업의 다양한 단계의 올바른 순서? (0) | 2019.09.20 |