可以拥有在hive中共享的表。 我的意思是用户创建一个配置表。以后,多个用户可以同时处理同一个表。
我听说过每个用户都有德比和个别的Metastore。但是,单独的Metastore选项不允许用户同时在同一组表上工作吗?
还有其他方法可以解决这个问题吗?
因为当我们尝试同时访问配置单元时,会出现以下错误 -
引起:ERROR XSDB6:Derby的另一个实例可能已经启动了da tabase / root / metastore_db。
答案 0 :(得分:3)
错误XSDB6:Derby的另一个实例可能已经启动了da tabase / root / metastore_db。
当您尝试启动多个hive shell实例时,可能会发生此错误。即使在关闭标签/终端后,锁也可能在后台维持(由于不正确的断开连接)。
解决方案是使用var selectedMeal:Meal?
grep
现在,使用
终止进程ps aux | grep hive
重新启动配置单元shell。它工作正常。
答案 1 :(得分:1)
我使用Ubuntu并且当我在两个单独的终端窗口中从相同位置打开配置单元时发生此错误。这将被系统解释为多个用户。关闭其中一个终端窗口/标签,这应该可以解决问题。
答案 2 :(得分:0)
使用嵌入式Derby Metastore在同一目录中运行两个spark应用程序实例(例如:spark-shell
,spark-sql
或start-thriftserver
)时会发生这种情况。
如果未由hive-site.xml配置,Spark上下文会自动在当前目录(see Spark docs)中创建metastore_db
。要避免这种情况,请在另一个目录中启动第二个spark应用程序或使用持久性Metastore(例如:Hive Derby in Server Mode)并通过hive-site.xml
进行配置。