我在Hadoop系统中有一个Hive表(从HBase可见),在SAP HANA服务器中安装了Hortonworks的ODBC。然后,我有一个SAP HANA Studio远程源,从中可以看到Hive表。下图显示了“远程源”定义:

DML模式为“读写”

我创建了bicing_test虚拟表。然后,我可以对该虚拟表运行“选择”查询,但是不能运行“插入/更新查询”:

日志错误如下:

Could not execute 'insert into "BICING_USER"."HIVE_bicing_test" values (3)' SAP DBTech JDBC: [7]: feature not supported: datasource doesn't support insert statement: line 1 col 27 (at pos 26)

是否可以在虚拟表中运行插入查询?

感谢您的支持。

最佳答案

这不是通过SDI或SDA对虚拟表的一般限制,而是特定适配器的属性。对于SDI,属性记录在EIM SDI/SDQ Admin Guide中。它在那里表示SDI-HIVE适配器“... INSERT,UPDATE和DELETE函数更多
比“标准” SQL复杂,因此在此第一版的Hive Adapter中不支持它们。”因此,我猜测SDA Adapter具有相同的限制,即使我不知道SDA的属性在哪里适配器系统地记录在文档上(是否有任何地方???)。

一些适配器,例如HANA适配器(用于访问其他HANA系统),SDI DB2 Logreader适配器等支持在虚拟表中插入/更新/删除。您必须检查要使用的特定适配器。

关于hadoop - 无法从SAP HANA在虚拟表(HIVE)中插入数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42926129/

10-16 03:00