Snappydata和外部Hive兼容性

时间:2018-06-27 15:20:46

标签: apache-spark hadoop hive snappydata

我正在尝试使用Snappydata 1.0.1从Hadoop(HDP 2.6.3)读取和处理数据。

指向Hive Metastore时(通过Snappydata配置中的hive-site.xml),来自Snappydata发行版的Spark可以读取数据库列表,但不能在Snappydata中创建表。它告诉“未找到表”。此外,Snappydata群集UI可以显示该表,但是Snappydata无法进一步使用该表-对此表进行INSERT,SELECT,DROP命令会引发未找到表的错误,随后的CREATE TABLE会告诉“表已存在”。

如果不指定Hive元存储库,则效果很好。

hive-site.xml中的配置:

<property>
  <name>hive.metastore.uris</name>
  <value>thrift://srv1.company.org:9083</value>
</property>

此外,我们正在使用智能连接器模式。

看起来很奇怪-指向Hive metastore会破坏Snappydata代码,这与外部Hive完全无关(我们既不是从Hadoop读取也不是从Hadoop编写)。

有一个假设,即Snappydata与我们的Hive Metastore版本不兼容,并且这种不兼容会导致奇怪的行为。有人可以澄清这个问题吗?

1 个答案:

答案 0 :(得分:1)

似乎要从Hadoop(Hive,HDFS)读取数据,我们必须在Snappydata中创建完全相同的外部表。即,在Hadoop中具有表A,我们必须在Snappydata中创建具有相同定义和EXTERNAL关键字的表,以从Hadoop表A中读取数据。这可以通过Snappydata中自身元数据存储的存在来解释。

但是,从文档中尚不清楚。非常遗憾的是,近两个星期没有人回答这个问题。