我与hive有unixodbc连接:
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 not default tez。直接连接到配置单元时,在odbc之外,我可以执行以下操作:
set hive.execution.engine=mr;
select ... [my query to run with mr here...
使用isql,我尝试了以下方法:
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;
当我再看我们的hadoop运行应用程序页面时,我可以看到我第二次尝试查询,但它仍然在用tez运行。预期和期望的行为是,它将运行与先生。
是否可以使用unixodbc连接配置配置单元设置?如果是这样,我怎么能告诉Hive使用mr引擎而不是tez?
暂无答案!
目前还没有任何答案,快来回答吧!