hive-copy带有分区的数据库模式,并在另一个hive示例中重新创建

xqk2d5yq  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(320)

我已经将带有分区配置单元表的数据库的数据和文件夹结构从一个hdfs示例复制到另一个示例。
如何对配置单元元数据执行相同的操作?我需要新hdfs示例的配置单元使用现有分区定义这个数据库及其表,就像在原始位置一样。当然,它们通常需要在更新hdfs外部表位置时维护其原始模式。
乐于使用直接的配置单元命令、spark或任何开放源代码且随时可用的通用cli实用程序。我没有实际的hadoop集群(这是云存储),所以请避免使用依赖map reduce/etc的答案(比如sqoop)。

evrscar2

evrscar21#

使用配置单元命令:

SHOW CREATE TABLE tablename;

这将打印create table语句。复制并将表类型更改为外部、位置、架构、列名(如有必要),然后执行。
创建表后,使用此命令创建元数据分区

MSCK [REPAIR] TABLE tablename;

amazon elastic mapreduce(emr)版本的hive上的等效命令是: ALTER TABLE tablename RECOVER PARTITIONS; 这将添加配置单元分区元数据。请参阅此处的手册:恢复分区

相关问题