如何转储整个impala数据库

时间:2015-10-02 17:42:41

标签: impala

有没有办法转储impala数据库的所有架构/数据,以便我可以在新的数据库实例中重新创建?

类似于mysqldump的内容?

2 个答案:

答案 0 :(得分:1)

是的,

  1. 您可以从impala仓库(通常是/ user / hive / warehouse)中获取所有数据 使用dictcp从一个集群复制到同一位置的其他集群
  2. Fire show创建表以获取每个表的架构,只是将位置更改为目标位置

答案 1 :(得分:0)

由于没有DUMP命令(或类似的东西): http://www.cloudera.com/content/cloudera/en/documentation/cloudera-impala/latest/topics/impala_shell_commands.html

我认为最好的解决方案是在一个数据库中仅使用外部表。 这样,您就可以知道数据的保存位置,并可能将其复制到其他位置。

 CREATE EXTERNAL TABLE table_name(one_field INT, another_field BIGINT,
     another_field1 STRING)
 COMMENT 'This is an external table'
 ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054'
 STORED AS TEXTFILE
 LOCATION '<my_hdfs_location>';