我有一个HANA Express VM,我想与Hadoop集群进行交互 . 我有一个Hive表,我通过智能数据访问(SDA)连接到HANA . 虚拟表一切正常,我可以使用SAP HANA Studio查询Hive数据( select
语句),但是当我尝试计算表行时,我的HANA Studio中出现异常:
SELECT count(*) FROM "SYSTEM"."orctable";
导致以下异常:
Could not execute 'SELECT count(*) FROM "SYSTEM"."orctable"' in 602 ms 558 µs .
SAP DBTech JDBC: [403]: internal error: Error opening the cursor for the remote database [Hortonworks][Hardy] (35) Error from server: error code: '0' error message: 'ExecuteStatement finished with operation state: ERROR_STATE'. for query "SELECT COUNT(*) FROM HIVE.default.orctable orctable "
我还在HANA中为虚拟表名称( ORCTABLE
)添加了一个使用大写字母的新虚拟表,因为HANA使用大写字母作为默认值,同样的错误!其他尝试:
-
SELECT count(1) FROM "SYSTEM"."orctable"
-
SELECT count(columnA) FROM "SYSTEM"."orctable"
-
SELECT count(A.*) FROM "SYSTEM"."orctable" as A
-
......
当我从我的Hive UI调用 select count(*) from orctable
时,每个标记都可以正常工作 .
我还发现本教程中的 SELECT COUNT(*)
是针对虚拟Hive表的:https://blogs.sap.com/2014/06/02/sap-hana-smart-data-access3-how-to-access-hadoop-data-through-hive-with-sda/
我正在使用最新的HANA Express VM,用于SUSE 12的Hive ODBC驱动程序v2.1.7和带有Hive 1.2.1的HDP 2.5群集 .
有其他人这个问题或猜测为什么这不起作用或已经解决?
2 回答
您是否尝试过从Hive ui运行错误日志中的语句?
SELECT COUNT(*)FROM HIVE.default.orctable orctable
并且是一个简单的选择,没有计数工作?
找到了一个解决方法: