Reputation: 11
I have created a database schema with a few row-base tables in SnappyData 0.9 without hive metadata store connected. Later, I add the hive.metastore.uris property in hive-site.xml file and have SnappyData connect to it. To my surprise, the lead service complains 'Catalog inconsistency detected' and start to drop all of the tables.
17/07/12 13:52:36.830 CDT HiveMetaStore Client-0<tid=0x17> INFO metastore: Trying to connect to metastore with URI thrift://hmsserver:9083
17/07/12 13:52:36.960 CDT HiveMetaStore Client-0<tid=0x17> INFO metastore: Connected to metastore.
17/07/12 13:52:37.156 CDT serverConnector<tid=0x17> INFO snappystore: info: Catalog inconsistency detected: following tables in datadictionary are not in Hive metastore: schema = DAS tables = [ACS_ACCESS_RIGHT, SEC_PRIVILEGE_TYPE, SEC_USER, SEC_USER_PRIVILEGE, LOC_STORE, LOCATION]
17/07/12 13:52:37.156 CDT serverConnector<tid=0x17> INFO snappystore: info: FabricDatabase.dropTables processing DAS.ACS_ACCESS_RIGHT
17/07/12 13:52:37.159 CDT serverConnector<tid=0x17> INFO snappystore: info: Dropping table DAS.ACS_ACCESS_RIGHT
...
So, my question is - Can I have both SnappyData row-base tables and hive tables coexist in SnappyData?
Upvotes: 1
Views: 129
Reputation: 21
In SnappyData, you cannot configure the Hive metadata store using hive.metastore.uris property in hive-site.xml
SnappyData internally initializes Hive mestastore client that creates all tables required by it on SnappyData server itself. As such users are not required to configure their own hive-site.xml and if it is configured to point to a different Hive metastore URI, it will not work correctly (though it seems you get an impression that it is working) as Hive mestastore's tables are expected to be on SnappyData servers.
Upvotes: 1
Reputation: 11
The answer to my own question seems to be YES, but you will have to create the schema and tables in SnappyData after it has connected to hive metastore.
Also, you will have to define the following property in hive-site.xml for all the SnappyData services.
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
Upvotes: 0