복붙노트

[HADOOP] 이는지도 작업의 수를 결정하고 하이브에서 작업을 감소?

HADOOP

이는지도 작업의 수를 결정하고 하이브에서 작업을 감소?

나는 쿼리를 실행 하이브를 사용하여 "T1에서 *를 선택 T1.A = T2.b T2"가 실행되면, 스키마는 T1 (정수 (int), B의 INT), T2 (정수 (int), B의 INT)이며, 6지도 작업 하나는 작업이 생성 감소, 나는지도 작업의 수를 결정하는 것을 물어 및 작업을 줄이고 자? 데이터 볼륨은?

해결법

  1. ==============================

    1.지도 작업의 수는 데이터 크기, 블럭 크기 및 분할의 크기에 의존한다. 예를 들면 : 당신이 블록 크기 128 MB의이 당신의 파일 크기가 1 인 경우 GB는지도 작업의 8 수있을 것입니다. 당신은 분할 크기를 사용하여 제어 할 수 있습니다.

    지도 작업의 수는 데이터 크기, 블럭 크기 및 분할의 크기에 의존한다. 예를 들면 : 당신이 블록 크기 128 MB의이 당신의 파일 크기가 1 인 경우 GB는지도 작업의 8 수있을 것입니다. 당신은 분할 크기를 사용하여 제어 할 수 있습니다.

    그리고 하이브 작업의 톱니의 수는 기본적으로 1입니다. 당신은 구성을 통해이를 업데이트해야

    <property>
      <name>mapred.reduce.tasks</name>
      <value>-1</value>
      <description>The default number of reduce tasks per job.  Typically set
       to a prime close to the number of available hosts.  Ignored when
       mapred.job.tracker is "local". Hadoop set this to 1 by default, whereas hive uses
      -1 as its default value.
       By setting this property to -1, Hive will automatically figure out what should be
       the number of reducers.
      </description>
    </property>
    
  2. ==============================

    2.

    > mapred.max.split.size 
    > mapred.min.split.size 
    
  3. ==============================

    3.하이브> EMP SELECT *; 그런 다음이 어떤지도 할 수없고 시작됩니다 줄일 수 있습니다. 우리는 데이터 만 덤프 의미합니다.

    하이브> EMP SELECT *; 그런 다음이 어떤지도 할 수없고 시작됩니다 줄일 수 있습니다. 우리는 데이터 만 덤프 의미합니다.

    그래서 얼마나 많은지도를 원하고 내가 쿼리를 타격하고 때 시작을 줄이십시오.

    하이브> 이름 EMP 그룹의 선택 수 (*);

    우리는 쿼리하기 전에 키워드를 설명 추가 한 경우가 얼마나 많은지도 보여가는 시작 얻을 것이다 줄일 수 있습니다.

    하이브> 이름으로 EMP 그룹에서 SELECT COUNT (*)를 설명;

  4. from https://stackoverflow.com/questions/23287403/which-determines-the-number-of-map-tasks-and-reduce-tasks-in-hive by cc-by-sa and MIT license