[HADOOP] 하이브 맵퍼 작업을 늘리지 못합니까?
HADOOP하이브 맵퍼 작업을 늘리지 못합니까?
하나의 150MB 파일 만있는 관리 하이브 테이블이 있습니다. 그런 다음 "select count (*) from tbl"을 실행하고 2 개의 매퍼를 사용합니다. 더 큰 숫자로 설정하고 싶습니다.
먼저 'set mapred.max.split.size = 8388608;'을 시도 했으므로 잘하면 19 개의 매퍼가 사용됩니다. 그러나 그것은 단지 3을 사용합니다. 어떻게 든 그것은 여전히 64MB만큼 입력을 분리합니다. 또한 'set dfs.block.size = 8388608;'도 사용했지만 작동하지 않습니다.
그런 다음 바닐라 맵 축소 작업을 시도해 보았습니다. 처음에는 3 개의 맵퍼를 사용하고 mapred.max.split.size를 설정하면 19를 사용합니다. 따라서 하이브에 문제가 있습니다.
CombineHiveInputFormat, ExecDriver 등의 Hive 소스 코드를 읽은 단서를 찾을 수 없습니다.
그 밖의 설정에는 어떤 것이 있습니까?
해결법
-
==============================
1.저는 하이브 메일 링리스트에서받은 @javadba의 답변을 결합했습니다. 해결책은 다음과 같습니다.
저는 하이브 메일 링리스트에서받은 @javadba의 답변을 결합했습니다. 해결책은 다음과 같습니다.
set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat; set mapred.map.tasks = 20; select count(*) from dw_stage.st_dw_marketing_touch_pi_metrics_basic;
메일 링리스트에서 :
나중에 소스 코드를 파헤칩니다.
-
==============================
2.다음을 추가하십시오.
다음을 추가하십시오.
set hive.merge.mapfiles=false; set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
from https://stackoverflow.com/questions/20816726/fail-to-increase-hive-mapper-tasks by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] hbase와 hive의 차이점은 무엇입니까? (하둡) (0) | 2019.06.26 |
---|---|
[HADOOP] sudo hadoop 대 su hadoop (0) | 2019.06.26 |
[HADOOP] Hadoop 2.2.0 MapReduce가 작동하지 않음 (0) | 2019.06.26 |
[HADOOP] HDFS 중고품 서버가 HDFS가 아닌 현지 FS의 내용을 반환합니다. (0) | 2019.06.26 |
[HADOOP] 복잡한 Json 데이터를 하이브로 가져 오기 (0) | 2019.06.26 |