Чтобы ускорить процесс улья, как отрегулировать количество картографов и редукторов с помощью tez - PullRequest
0 голосов
/ 25 августа 2018

Я попробовал процесс (маркировка слов в предложении) больших данных (около 150 ГБ), используя tez, но проблема в том, что это заняло так много времени (1 неделя или более), а затем

Я пытался указать номер картографа. Хотя я установил mapred.map.tasks = 2000, но я не могу остановить установщик около 150, поэтому я не могу делать то, что хочу.

Я указываю значение карты в файле рабочего процесса oozie и использую тез.

Как мне указать номер картографа?

Наконец, я хочу ускорить процесс, это нормально, чтобы не использовать тез.

Кроме того, я бы хотел посчитать помеченное предложение по редуктору, это тоже занимает много времени.

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

1 Ответ

0 голосов
/ 25 августа 2018

Чтобы вручную установить количество картографов в запросе Hive, когда TEZ является механизмом выполнения, можно использовать конфигурацию tez.grouping.split-count ...

... set tez.grouping.split-count=4 создаст4 картографа

https://community.pivotal.io/s/article/How-to-manually-set-the-number-of-mappers-in-a-TEZ-Hive-job


Однако, в целом, вам следует оптимизировать формат хранения и разделы Hive, прежде чем вы начнете настраивать Tezнастройки .Не пытайтесь обрабатывать данные STORED AS TEXT в Hive.Сначала преобразуйте его в ORC или Parquet.

Если Тез не работает для вас, вы всегда можете попробовать Spark.Плюс маркировка предложений - это, вероятно, Spark MLlib worlflow, который вы можете найти где-нибудь

...