Улей билайн используй ACID менеджер транзакций
Я пытаюсь запустить эту команду, используя Билайн.
create table <table_1> like <table_2>
но, похоже, мой Hive настроен на работу в режиме ACID. Так что этот запрос не удается с
Ошибка: ошибка при компиляции оператора: СБОЙ: SemanticException [Ошибка 10265]: эта команда не разрешена для таблицы ACID с менеджером транзакций не-ACID. Ошибка команды: создать таблицу как (состояние =42000, код =10265)
Какой правильный синтаксис для выполнения запроса beeline с помощью диспетчера транзакций ACID без изменения какой-либо глобальной конфигурации?
моя команда beeline:
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)
Спасибо за любую помощь.
0 ответов
Вы можете установить свойства улья и запустить запрос улья из beeline, как показано ниже:
beeline -u $jdbc_con \
--hiveconf "hive.support.concurrency=true" \
--hiveconf "hive.enforce.bucketing=true" \
-e "create table <table_1>_test like <table_2>"
Надеюсь, это будет полезно.