SAP HANA智能数据访问:无法计算虚拟表(Hive)的行数

时间:2017-04-07 08:24:33

标签: hive odbc hortonworks-data-platform hana

我有一台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时,每个标记都可以正常工作。

我还发现本教程中针对虚拟Hive表创建了SELECT COUNT(*)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 个答案:

答案 0 :(得分:0)

您是否尝试过来自Hive ui的错误日志中的语句?

SELECT COUNT(*)FROM HIVE.default.orctable orctable

这是一个简单的选择,没有计数工作?

答案 1 :(得分:0)

找到了解决方法:

SELECT COUNT(*) FROM (SELECT * FROM "SYSTEM"."orctable");