Hadoop unixODBC isql设置配置单元配置变量

Hadoop unixODBC isql设置配置单元配置变量,hadoop,hive,odbc,unixodbc,isql,Hadoop,Hive,Odbc,Unixodbc,Isql,我与hive有unixODBC连接: isql -v Hive +---------------------------------------+ | Connected! | | | | sql-statement | | help [tablename] | | quit

我与hive有unixODBC连接:

isql -v Hive
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> 
例如,
选择install\u dt,从device\u metrics.sometable中计算(1),其中install\u dt>='2020-04-10'按install\u 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返回的是-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中运行。预期和期望的行为是,它将与mr

是否可以使用unixODBC连接配置配置单元设置?如果是这样,我怎么能告诉hive使用mr引擎而不是tez