我需要做一些 SQL 查询(如here)直接来自 Metasore。
PS:命令 SHOW/DESCRIBE 是not足够的。
如何启用它作为数据库的访问,或者 Metastore 的数据库名称是什么? ...现在(2019年)有可能吗?
NOTES
What is 元存储?
对我来说这是 Hive 架构的一个非常重要的元素,最终用户需要对其进行一些访问......“所有 Hive 实现都需要一个元存储服务,用于存储元数据。它是使用关系数据库中的表实现的。默认情况下,Hive 使用内置的 Derby SQL 服务器”, 1.
当然,你需要在你的背景下 a “标准”元存储。在我公司的 Hadoop 集群上,我们计划标准化 Metastore(本地和长期标准),也许是 PostgreSQL 以及(PostgREST API用于从其中外部使用一些 SQL 视图)。
当 Metastore 成为长期本地标准时,SQL 定义(表名等)将是稳定的,Metastore 查询将是可靠的。
Metastore 它与 Hive 紧密相连,它是一个 Java API,但 Metastore 也是一个标准的 RDBMS,并为外部宇宙提供标准连接(通过 SQL)。
PS:我对 Metastore 的兴趣就是在这个外部背景下。
Spark-shell 解决方案
Spark 在底层访问 Metastore,它有一个头等舱元数据方法,返回一个数据帧,schema
属性,公开名称、类型等并提供getComment
方法。
See https://stackoverflow.com/a/57857021/287948
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)