Apache Hive是否与PostgreSQL的pg_dump等效?

时间:2017-03-01 21:18:48

标签: hive

我在Apache Hive中有一堆数据库。我想输出它们的结构 - 表名,列名,键,关系等。相当于PostgreSQL的pg_dump将是完美的。有什么相似的吗?

1 个答案:

答案 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 无论你需要什么