[HADOOP] MRJob에서 각지도 단계의 입력을 구체적으로 결정하는 방법은 무엇입니까?
HADOOPMRJob에서 각지도 단계의 입력을 구체적으로 결정하는 방법은 무엇입니까?
여러 단계로 구성된지도 축소 작업을하고 있습니다. 모든 단계에서 mrjob을 사용하면 이전 단계 출력을받습니다. 문제는 내가 그것을 원하지 않는다는 것입니다.
내가 원하는 것은 몇 가지 정보를 추출하여 모든 입력에 대해 두 번째 단계에서 사용하는 것입니다. mrjob을 사용하여이 작업을 수행 할 수 있습니까?
참고 : 나는 emr을 사용하고 싶지 않기 때문에이 질문은별로 도움이되지 않습니다.
업데이트 : 하나의 작업에서이 작업을 수행 할 수 없다면 두 가지 작업으로 수행해야합니다. 이 경우,이 두 작업을 랩핑하고 중간 아웃 퍼스 등을 관리 할 수있는 방법이 있습니까?
해결법
-
==============================
1.너는 Runners를 사용할 수있다.
너는 Runners를 사용할 수있다.
별도로 작업을 정의하고 다른 파이썬 스크립트를 사용하여 작업을 호출해야합니다.
from NumLines import NumLines from WordsPerLine import WordsPerLine import sys intermediate = None def firstJob(input_file): global intermediate mr_job = NumLines(args=[input_file]) with mr_job.make_runner() as runner: runner.run() intermediate = runner.get_output_dir() def secondJob(input_file): mr_job = WordsPerLine(args=[intermediate,input_file]) with mr_job.make_runner() as runner: runner.run() if __name__ == '__main__': firstJob(sys.argv[1]) secondJob(sys.argv[1])
다음에 의해 호출 될 수 있습니다.
python main_script.py input.txt
from https://stackoverflow.com/questions/26082234/how-to-specifically-determine-input-for-each-map-step-in-mrjob by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hadoop 설치를 찾을 수 없습니다 : $ HADOOP_HOME이 설정되어 있거나 hadoop이 경로에 있어야합니다. (0) | 2019.07.29 |
---|---|
[HADOOP] 새 Hadoop API를 사용하여 MultipleTextOutputFormat을 사용하려면 어떻게해야합니까? (0) | 2019.07.29 |
[HADOOP] Hadoop : 사용자 정의 FileInputFormat 클래스 구현시 필요한 도움말 (0) | 2019.07.29 |
[HADOOP] HDFS의 저장소 형식 (0) | 2019.07.29 |
[HADOOP] 하둡 성능 (0) | 2019.07.29 |