有没有办法转储impala数据库的所有模式/数据,以便我可以在新的数据库示例中重新创建?类似mysqldump的功能?
zysjyyx41#
对,您可以从impala仓库(通常是/user/hive/warehouse)获取所有数据使用dictcp从一个集群复制到同一位置的另一个集群fire show create table获取每个表的模式,只需将位置更改为目标位置
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>';
2条答案
按热度按时间zysjyyx41#
对,
您可以从impala仓库(通常是/user/hive/warehouse)获取所有数据
使用dictcp从一个集群复制到同一位置的另一个集群
fire show create table获取每个表的模式,只需将位置更改为目标位置
ckx4rj1h2#
由于没有dump命令(或类似命令):http://www.cloudera.com/content/cloudera/en/documentation/cloudera-impala/latest/topics/impala_shell_commands.html
我认为最好的解决方案是在一个数据库中只使用外部表。这样,您就可以知道数据的保存位置,并可能将其复制到其他地方。