Hadoop 설명서에는 -file
option을 사용하여 파일을 로컬에서 사용할 수 있다고 나와 있습니다.Elastic MapReduce에서 로컬로 파일을 만들 수 있습니다.
Elastic MapReduce Ruby CLI을 사용하면 어떻게 할 수 있습니까?
Hadoop 설명서에는 -file
option을 사용하여 파일을 로컬에서 사용할 수 있다고 나와 있습니다.Elastic MapReduce에서 로컬로 파일을 만들 수 있습니다.
Elastic MapReduce Ruby CLI을 사용하면 어떻게 할 수 있습니까?
EMR을 사용하여 DistributedCache
을 사용할 수 있습니다. 이것은 다음과 같은 옵션을 사용하여 수행 할 수 있습니다 루비 클라이언트와
`--cache <path_to_file_being_cached#name_in_current_working_dir>`
그것은 DistributedCache
에서 하나의 파일을 저장합니다. 이 파일을 사용하면 파일의 위치 (s3n 또는 hdfs)와 그 응용 프로그램의 현재 작업 디렉토리에서 참조 된 이름을 지정할 수 있으며 mapred.local.dir
으로 식별되는 디렉토리의 작업 노드에 파일을 로컬로 배치합니다 (필자 생각).
그러면 Mapper
/Reducer
작업의 파일에 쉽게 액세스 할 수 있습니다. 정상적인 파일처럼 직접 액세스 할 수 있다고 생각하지만 setup
작업에서 DistributedCache.getLocalCacheFiles(job);
과 같은 작업을 수행해야 할 수 있습니다.
아마존의 포럼에서 가져온 루비 클라이언트에서이 작업을 수행하는 예
:./elastic-mapreduce --create --stream --input s3n://your_bucket/wordcount/input --output s3n://your_bucket/wordcount/output --mapper s3n://your_bucket/wordcount/wordSplitter.py --reducer aggregate --cache s3n://your_bucket/wordcount/stop-word-list#stop-word-list
는 당신이 더 구체적 일 수 있습니다 당신이 뭘 하려는지? 로컬로 파일을 사용할 수있게하려면 무엇이 필요합니까? –
@CharlesMenguy :지도/축소 작업을 로컬로 수행합니다. Hadoop을 사용하면 Hadoop을 호출 한 위치에서 해당 파일을 가져 와서지도/축소 작업에 자동으로 사용할 수 있습니다. –