Может ли улей с одной полосой orcfile быть разделен на меньший размер?

#hive #mapper #orc

Вопрос:

Например, размер блока и полосы в файле orcfile одинаковы, они составляют 256 м, но размер разделения составляет 100 м. Как разделяется файл orcfile?

Ответ №1:

ОРК разделен на уровне полосы, в вашем случае 256 м, меньшее разделение невозможно.

Размер полосы настраивается в TBLPROPERTIES("orc.stripe.size"="268435456") , размер разделения настраивается в этих настройках (пример для Tez):

 set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat;
set tez.grouping.max-size=104857600; 
set tez.grouping.min-size=32000; --smaller files will be possibly be combined
 

В этом случае каждый картограф получит целые полосы (256 м) или меньше, если есть полосы меньшего размера, полосы не будут разбиты на более мелкие куски.

Комментарии:

1. Но, когда я устанавливаю max_split.размер 256 М, номер карты равен 13; установить 128 м, номер карты равен 13; установить 100 М, номер карты равен 26; установить 50 М, номер карты равен 52.Я не знаю, почему, если полосу нельзя разделить?