улей билайн использовать менеджер транзакций ACID

Я пытаюсь запустить эту команду с помощью Beeline.

create table <table_1> like <table_2>

но, похоже, мой Hive настроен на работу в режиме ACID. Итак, этот запрос не работает с

Ошибка: ошибка при компиляции оператора: FAILED: SemanticException [ошибка 10265]: эта команда не разрешена для таблицы ACID с диспетчером транзакций, отличным от ACID. Неудачная команда: создать таблицу типа (состояние = 42000, код = 10265)

Какой правильный синтаксис для запуска запроса Beeline с использованием диспетчера транзакций ACID без изменения какой-либо глобальной конфигурации?

моя команда билайн:

beeline -u <jdbc_con> -e "create table <table_1> like <table_2>";

Я полагаю, я должен использовать что-то вроде

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;

Но как включить это в билайн? Когда я пытался

beeline -u $jdbc_con -e "set hive.support.concurrency = true; create table <table_1>_test like <table_2>";

Кажется, таким образом изменить этот параметр невозможно.

Ошибка: ошибка при обработке оператора: невозможно изменить hive.support.concurrency во время выполнения. Его нет в списке параметров, которые разрешено изменять во время выполнения (состояние = 42000, код = 1).

Спасибо за любую помощь.


person jmt    schedule 22.02.2019    source источник


Ответы (1)


Вы можете установить свойства улья и запустить запрос улья от beeline, как показано ниже:

beeline -u $jdbc_con \
--hiveconf "hive.support.concurrency=true" \
--hiveconf "hive.enforce.bucketing=true" \
-e "create table <table_1>_test like <table_2>"

Надеюсь, это полезно.

person Ajay Ahuja    schedule 15.11.2019