2017-02-09 4 views
0

Мне нужно разбивать таблицу в соответствии с датой и часом от resultdate, которое находится в формате 2/5/2013 9:24:00 AM.Как оптимизировать запрос куста на таблицу с динамическим разбиением на разделы

Я использую динамическое разделение с датой & часов и делать в

insert overwrite table partition(date, hour) 
{ 
select x,y,z, date , hour 
} 
from table 1. 

У меня есть около 1,5 миллиона записей, и она занимает около 4 часов, чтобы закончить. Является ли это нормальным, какими будут некоторые способы оптимизации?

ответ

0

увеличить размер кластера, в противном случае потребуется много времени.

0

это не нормально, за исключением того, если вы работаете в виртуальной машине с 1 узлом :) .. Попробуйте установить этот флаг

set hive.optimize.sort.dynamic.partition=false; 

Я не знаю, почему она установлена ​​истина по умолчанию в некоторых дистрибутивы.

0

Есть много сценариев к этому,

  • Проверьте TEZ двигатель может быть использован, чтобы сделать ваше время выполнения лучше.
  • Можно ли изменить способ хранения файла, может помочь RC-формат.
  • оптимизация hive.exec.max.dynamic.partitions & hive.exec.max.dynamic.partitions к оптимальному значению.
  • Увеличение кластера также является хорошим (если возможно)