2017-03-01 105 views
0

我有一大堆的Apache的配置单元的数据库。我想输出自己的结构 - 表名,列名,关键字,关系等PostgreSQL的pg_dump的等效将是完美的。有这样的事吗?Apache Hive是否具有与PostgreSQL的pg_dump等效的功能?

+0

刚出好奇心 - 你期望在Hive中找到什么样的“钥匙”和“关系”? –

+0

说实话,我不确定。我刚刚获得了一堆数据,并开始与Hive一起玩。我认为这是结构类似于SQL ...这就是为什么我在寻找数据的高层次的描述,如果你只想查看表结构,那么最好的方式连接到数据库连接到它的结构:) – jdesilvio

+0

您的配置单元(mysql或derby)并查看架构。你可以在蜂房site.xml文件这些细节 –

回答

0

我知道三种方式做这样的东西。没有哪一个很有趣。

A.使用一些自定义的脚本和直线(或蜂巢CLI)进行反向工程的所有表和视图

  • 运行show databases查询
  • 解析结果,重复上show tables in **
  • 解析结果,重复上show CREATE TABLE **.**
  • ...和show partitions **.**show indexes **.**(但你必须重建ALTER TABLE /自己CREATE INDEX命令)
  • 如果你有一个授权策略,也跑show principals和反覆show grant **(但你必须重新创建角色并GRANT自己命令)

B.开发自定义的Java程序连接到MetaStore服务,扫描数据库,扫描表/视图,扫描的分区,扫描StorageDescriptor,扫描列,扫描一切和它的狗......得到你真的很想。祝你好运。 Some pointers here

C.直接连接到MetaStore后端数据库(德比,MySQL和Postgres的...),那么试着去了解你想要的东东位于和选择任何你需要

+0

注意,使用的AVRO SERDE表,或者链接到HBase的后端,你可能看不到任何列;完整的模式将在TBLPROPERTIES(可能仅指向一个URL)中进行描述。 –

相关问题