Транзакции на уровне строк в улье - PullRequest
0 голосов
/ 04 марта 2019

Я новичок в HiveQL.Когда я создавал таблицу, я понял, что нам нужно сохранять ИСТИНА в некоторых свойствах транзакций.Затем я прошел через то, что это:

hive>set hive.support.concurrency = true;
hive>set hive.enforce.bucketing = true;
hive>set hive.exec.dynamic.partition.mode = nonstrict;
hive>set hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager;
hive>set hive.compactor.initiator.on = true;
hive>set hive.compactor.worker.threads = a positive number on at least one instance of the Thrift metastore service;

Что именно Concurrency,bucketing,Dynamic.partition.mode = 'nonstrict'?

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

Поскольку я совершенно новичок в этой области, я не могу получить надлежащие знания по этому свойству.

Может ли кто-нибудь пролить свет на это?

1 Ответ

0 голосов
/ 04 марта 2019

Из документации Hive

hive.support.concurrency

Независимо от того, поддерживает ли Hive параллелизм или нет.Экземпляр ZooKeeper должен быть запущен и работать для того, чтобы менеджер блокировок Hive по умолчанию поддерживал блокировки чтения-записи.

Установите значение true для поддержки транзакций INSERT ... VALUES, UPDATE и DELETE (Hive 0.14.0 и более поздних версий).).Для получения полного списка параметров, необходимых для включения транзакций Hive

 hive.enforce.bucketing

Включено ли принудительное хранение.Если значение равно true, при вставке в таблицу принудительное использование принудительно.

hive.exec.dynamic.partition.mode

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

hive.txn.manager

Установите это значение в org.apache.hadoop.hive.ql.lockmgr.DbTxnManager как часть включения транзакций Hive.DummyTxnManager по умолчанию реплицирует поведение до Hive-0.13 и не предоставляет транзакций.

hive.compactor.initiator.on

Запустить ли потоки инициатора и очистителя в этом экземпляре метастаза.Установите для этого параметра значение true в одном экземпляре метастазовой службы Thrift в рамках включения транзакций Hive.Полный список параметров, необходимых для включения транзакций, см. В hive.txn.manager.

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

hive.compactor.worker.threads

Сколько рабочих потоков уплотнителя нужно запустить в этом экземпляре метастаза.Задайте для этого параметра положительное число в одном или нескольких экземплярах метасторской службы Thrift в рамках включения транзакций Hive.Полный список параметров, необходимых для включения транзакций, см. В hive.txn.manager.

Рабочие потоки порождают задания MapReduce для выполнения уплотнений.Они не делают уплотнения сами.Увеличение количества рабочих потоков сократит время, необходимое для сжатия таблиц или разделов, когда они решат, что им нужно сжатие.Это также увеличит фоновую нагрузку на кластер Hadoop, поскольку в фоновом режиме будет выполняться больше заданий MapReduce.

...