почему нужно установить свойства раздела Dynami c в улье - PullRequest
2 голосов
/ 04 февраля 2020

Хотелось бы узнать одну вещь в разделе hive Dynami c. При создании динамических c разделов мы должны установить следующие свойства

SET hive.exec.dynamic.partition = true;

SET hive.exec.dynamic.partition.mode = nonstrict;

Без этих свойств мы не сможем создать динамический c раздел.

Я хочу знать, почему это требуется? Может кто-нибудь сказать мне, почему мы должны установить эти свойства.

1 Ответ

0 голосов
/ 04 февраля 2020

Это было сделано как дополнительная мера защиты от непреднамеренного перезаписи разделов.

Документы говорит:

Другая ситуация, которую мы хотим защитить от динам c вставка раздела заключается в том, что пользователь может случайно указать, что все разделы являются динамическими разделами, без указания одного статического c раздела, в то время как первоначальное намерение состоит в том, чтобы просто перезаписать подразделы одного root раздела. Мы определяем другой параметр hive.exec.dynamic.partition.mode=strict, чтобы предотвратить случай динамического разбиения. В строгом режиме необходимо указать хотя бы один раздел stati c. Режим по умолчанию строгий. Кроме того, у нас есть параметр hive.exec.dynamic.partition=true/false для контроля, разрешать ли динамическое разбиение c вообще. Значение по умолчанию - false до Hive 0.9.0 и true в Hive 0.9.0 и более поздних

...