[HADOOP] Hadoop MapReduce 스크립트에서 외부 라이브러리 가져 오기
HADOOPHadoop MapReduce 스크립트에서 외부 라이브러리 가져 오기
Amazon EMR Hadoop 구현에서 Python MapReduce 스크립트를 실행하고 있습니다. 기본 스크립트의 결과로 항목 항목 유사성이 나타납니다. 애프터 케어 단계 에서이 출력을 각 항목에 대해 별도의 S3 버킷으로 나누고 싶습니다. 따라서 각 항목 버킷에는 비슷한 항목 목록이 포함됩니다. 이를 달성하기 위해 애프터 케어 단계의 축소 기능에 Amazons boto python 라이브러리를 사용하고 싶습니다.
미리 감사드립니다. 도마
해결법
-
==============================
1.hadoop 프로세스를 시작할 때 사용 가능한 외부 파일을 지정할 수 있습니다. -files 인수를 사용하여 수행됩니다.
hadoop 프로세스를 시작할 때 사용 가능한 외부 파일을 지정할 수 있습니다. -files 인수를 사용하여 수행됩니다.
$ HADOOP_HOME / bin / hadoop jar /usr/lib/COMPANY/analytics/libjars/MyJar.jar-파일 hdfs : //PDHadoop1.corp.COMPANY.com : 54310 / data / geoip / GeoIPCity.dat
파일이 HDFS에 있어야하는지 모르겠지만 자주 실행되는 작업 인 경우에는 파일을 저장하는 것이 좋지 않습니다. 코드에서 비슷한 것을 할 수 있습니다
if (DistributedCache.getLocalCacheFiles(context.getConfiguration()) != null) { List<Path> localFiles = Utility.arrayToList(DistributedCache.getLocalCacheFiles(context.getConfiguration())); for (Path localFile : localFiles) { if ((localFile.getName() != null) && (localFile.getName().equalsIgnoreCase("GeoIPCity.dat"))) { Path path = new File(localFile.toUri().getPath()); } } }
이것은 여러 Mappers의 작업 코드에서 직접 복사하여 붙여 넣는 것입니다.
나는 당신의 질문의 두 번째 부분에 대해 모른다. 바라건대 첫 번째 부분에 대한 답변으로 시작하십시오. :)
-files 외에 추가 jar를 포함하기위한 -libjars가 있습니다. 여기에 대한 약간의 정보가 있습니다. 파일 경로가 필요한 생성자가있는 경우 파일이 jar로 패키지되어 있으면 어떻게 "가짜"수 있습니까?
from https://stackoverflow.com/questions/4984894/import-external-libraries-in-an-hadoop-mapreduce-script by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 하둡 설정에서 NoClassDefFoundError (0) | 2019.09.09 |
---|---|
[HADOOP] HBase에서 rowkey-search와 일치하는 COUNT 개의 행이 있습니까? (0) | 2019.09.09 |
[HADOOP] 하둡 의도 된 메모리 사용량 (0) | 2019.09.09 |
[HADOOP] Hive2 & JDBC-필수 필드 'serverProtocolVersion'이 설정되지 않았습니다. (0) | 2019.09.09 |
[HADOOP] 기본 디렉토리가 변경 될 때 Hive 테이블이 자동으로 업데이트 될 수 있습니까 (0) | 2019.09.09 |