如何从beeline访问Metastore?

时间:2019-08-07 20:34:09

标签: hive beeline

我需要直接从Metasore进行一些SQL查询(如here)。
PS:命令SHOW / DESCRIBE 还不够。

如何启用作为数据库的访问权限,或者Metastore的数据库名称是什么? ...在当今(2019年)有可能吗?


注意

  • 什么是 Metastore
    对我来说,这是Hive架构的一个非常重要的元素,最终用户需要对其进行访问... “所有Hive实施都需要一个元数据存储服务,用于存储元数据。它是使用关系表来实现的默认情况下,Hive使用内置的Derby SQL Server” 1
    当然,您需要您的上下文 “标准” Metastore 。在我公司的Hadoop集群上,我们计划标准化Metastore(本地和长期标准),也许是PostgreSQL,以及一个(PostgREST API,用于从外部使用其中的某些SQL视图)。

  • 当Metastore是长期的本地标准时,SQL定义(表名等)将保持稳定并且Metastore查询将是可靠的。

  • Metastore与Hive紧密相连,Hive是Java API,但Metastore也是标准的RDBMS,并为外部Universe提供标准的连接(通过SQL)。
    PS:我对Metastore的兴趣在于这种外部环境。

1 个答案:

答案 0 :(得分:0)

火花壳解决方案

后台访问Metastore,它有一个first class元数据方法,该方法返回一个数据框,schema属性,公开名称,类型等并提供getComment方法。

请参见https://stackoverflow.com/a/57857021/287948