有没有办法在hive或Hcatalog中更改数据库的表?
例如,我在数据库foo
中有表default
,我想将此表放在数据库bar
中。我试试这个,但它不起作用:
ALTER TABLE foo RENAME TO bar.foo
提前致谢
答案 0 :(得分:2)
AFAIK在HiveQL中无法做到这一点。尽管 ticket 已经提出了很长时间。但问题仍然存在。
备用方法可以使用Hive提供的导出/导入功能。使用此功能,我们可以使用导出命令将表的数据与元数据一起导出到HDFS文件。数据以 JSON 格式存储。以这种方式导出的数据可以使用 IMPORT 命令导回到另一个数据库(甚至是另一个hive实例)。
有关详细信息,请参阅 IMPORT/EXPORT MANUAL 。
HTH
答案 1 :(得分:1)
感谢您的回复。我找到了另一种改变数据库的方法
USE db1; CREATE TABLE db2.foo like foo