[HADOOP] 하둡의 분산 캐시에 대한 혼란
HADOOP하둡의 분산 캐시에 대한 혼란
분산 캐시는 실제로 무엇을 의미합니까? 분산 캐시에 파일을 저장하면 모든 데이터 노드에서 사용할 수 있으므로 해당 데이터에 대한 노드 간 통신이 없거나 파일이 모든 노드의 메모리에 있음을 의미합니까? 그렇지 않다면 어떤 수단을 통해 전체 작업을위한 메모리에 파일을 보유 할 수 있습니까? UDF뿐만 아니라 map-reduce에도이 작업을 수행 할 수 있습니까?
(특히 UDF가 하이브 쿼리에 적용될 때 메모리에 보관하고 싶은 구성 데이터가 비교적 작습니다 ...)
고마워, 안부, Dhruv Kapur.
해결법
-
==============================
1.DistributedCache는 Map-Reduce 프레임 워크에서 제공하는 기능으로 응용 프로그램에 필요한 파일을 캐시합니다. 작업을 위해 파일을 캐시하면 hadoop 프레임 워크는 작업을 매핑 / 축소하는 모든 데이터 노드 (메모리가 아니라 파일 시스템)에서 사용할 수있게합니다. 그런 다음 매퍼 또는 감속기 작업에서 로컬 파일로 캐시 파일에 액세스 할 수 있습니다. 이제 캐시 파일을 읽고 코드에서 컬렉션 (예 : 배열, 해시 맵 등)을 쉽게 채울 수 있습니다.
DistributedCache는 Map-Reduce 프레임 워크에서 제공하는 기능으로 응용 프로그램에 필요한 파일을 캐시합니다. 작업을 위해 파일을 캐시하면 hadoop 프레임 워크는 작업을 매핑 / 축소하는 모든 데이터 노드 (메모리가 아니라 파일 시스템)에서 사용할 수있게합니다. 그런 다음 매퍼 또는 감속기 작업에서 로컬 파일로 캐시 파일에 액세스 할 수 있습니다. 이제 캐시 파일을 읽고 코드에서 컬렉션 (예 : 배열, 해시 맵 등)을 쉽게 채울 수 있습니다.
https://hadoop.apache.org/docs/r2.6.1/api/org/apache/hadoop/filecache/DistributedCache.html을 참조하십시오.
아직도 질문이 있으면 알려주세요.
UDF 코드에서 로컬 파일로 캐시 파일을 읽을 수 있습니다. JAVA API를 사용하여 파일을 읽은 후 모든 콜렉션을 채 웁니다 (메모리에 있음).
추천 URL http://www.lichun.cc/blog/2013/06/use-a-lookup-hashmap-in-hive-script/
- 어시시
from https://stackoverflow.com/questions/23751702/confusion-about-distributed-cache-in-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] YarnException : 허가받지 않은 컨테이너 시작 요청 (0) | 2019.06.27 |
---|---|
[HADOOP] "잘못된 FS ... 예상 : file : ///"Java에서 HDFS에서 파일을 읽으려고 할 때 (0) | 2019.06.27 |
[HADOOP] Apache Pig에서 SequenceFile에 데이터 저장 (0) | 2019.06.27 |
[HADOOP] 스파크 SQL은 다수의 파편이있는 쪽매 데이터 작성을 완료 할 수 없습니다. (0) | 2019.06.27 |
[HADOOP] 클러스터를 초기화 할 수 없습니다. mapreduce.framework.name 및 해당 서버 주소 - job2remoteClustr 제출을위한 구성을 확인하십시오. (0) | 2019.06.27 |