如何转储整个 Impala 数据库

iibxawm4  于 2021-06-26  发布在  Impala
关注(0)|答案(2)|浏览(279)

有没有办法转储impala数据库的所有模式/数据,以便我可以在新的数据库示例中重新创建?
类似mysqldump的功能?

zysjyyx4

zysjyyx41#

对,
您可以从impala仓库(通常是/user/hive/warehouse)获取所有数据
使用dictcp从一个集群复制到同一位置的另一个集群
fire show create table获取每个表的模式,只需将位置更改为目标位置

ckx4rj1h

ckx4rj1h2#

由于没有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>';

相关问题