我正在尝试使用snappydata1.0.1从hadoop(hdp2.6.3)读取和处理数据。
当指向配置单元元存储时(通过snappydata config中的hive-site.xml),snappydata分发中的spark可以读取数据库列表,但不能在snappydata中创建表。它告诉“找不到表”。此外,snappydata集群ui显示了该表,但snappydata无法进一步使用它—使用该表的insert、select、drop命令会抛出table not found错误,随后的create table会告诉“table already exists”。
如果不指定配置单元元存储,它工作得很好。
hive-site.xml中的配置:
<property>
<name>hive.metastore.uris</name>
<value>thrift://srv1.company.org:9083</value>
</property>
此外,我们正在使用智能连接器模式。
这看起来很奇怪——指向hive元存储会破坏snappydata代码,这与外部hive完全无关(我们还没有从hadoop读写)。
假设snappydata与我们的hive元存储版本不兼容,这种不兼容会导致奇怪的行为。有人能澄清这个问题吗?
1条答案
按热度按时间u5rb5r591#
似乎要从hadoop(hive,hdfs)读取数据,我们必须在snappydata中创建完全相同的外部表。i、 e在hadoop中有表a,我们必须在snappydata中创建具有相同定义和外部关键字的表才能从hadoop表a中读取数据。这可以通过snappydata中存在自元数据存储来解释。
不过,从文件上看并不清楚。非常遗憾的是,近两周来,没有人回答这个问题。