我在Apache Hive中有一堆数据库。我想输出它们的结构 - 表名,列名,键,关系等。相当于PostgreSQL的pg_dump
将是完美的。有什么相似的吗?
答案 0 :(得分:0)
我知道有三种方法可以做这种事情。这些都不好玩。
A. 使用一些自定义脚本和直线(或Hive CLI)对所有表和视图进行反向工程
show databases
查询show tables in **
show CREATE TABLE **.**
show partitions **.**
和show indexes **.**
(但您必须自己重建ALTER TABLE / CREATE INDEX命令) show principals
并迭代show grant **
(但您必须自己重建CREATE ROLE和GRANT命令) B. 开发自定义Java程序以连接到MetaStore服务,扫描数据库,扫描表/视图,扫描分区,扫描StorageDescriptor
,扫描列,扫描一切和它的狗......得到你真正想要的东西。祝好运。 Some pointers here
C。直接连接MetaStore数据库后端(Derby,MySQL,Postgres ...),然后尝试了解您想要的东西所在位置和 SELECT 无论你需要什么