зачем нужно устанавливать свойства для динамического раздела в улье

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

SET hive.exec.dynamic.partition = true;

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

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

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

1 ответ

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

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

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

Другие вопросы по тегам