У меня есть соединение unixODB C с кустом:
isql -v Hive
+---------------------------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+---------------------------------------+
SQL>
Например select install_dt, count(1) from device_metrics.sometable where install_dt >= '2020-04-10' group by install_dt;
Возвращает ожидаемые результаты.
Я хочу выполнить этот запрос но с некоторыми настройками переменных улья. Например, я бы хотел, чтобы механизм исполнения был mr, а не по умолчанию tez. При непосредственном подключении к улью вне odb c я могу просто сделать:
set hive.execution.engine=mr;
select ... [my query to run with mr here...
С i sql Я попробовал это:
SQL> set hive.execution.engine=mr;
SQLRowCount returns -1
Я не совсем уверен что SQLRowCount returns -1
но я думаю, это означает, что это либо ошибка, либо ни одна строка не была затронута?
В любом случае, я попытался снова выполнить свой запрос на выборку после попытки настроить этот параметр:
SQL> set hive.execution.engine=mr;
SQLRowCount returns -1
select install_dt, count(1) from device_metrics.sometable where install_dt >= '2020-04-10' group by install_dt;
Когда я смотрю на нашу страницу oop запущенных приложений, я вижу свою вторую попытку запроса, но он все еще работает с tez. Ожидаемое и желаемое поведение состояло в том, что он будет работать с mr.
Можно ли настроить параметры кустов с подключением unixODB C? Если да, то как я могу сказать ульи использовать mr engine, а не tez?