Hadoop 蜂箱卸载和重新加载

Hadoop 蜂箱卸载和重新加载,hadoop,hive,Hadoop,Hive,是否有任何方法可以生成配置单元表转储,以便可以发送表转储并将其重新加载到配置单元中,从而保留分区和bucketing结构 Hive 0.8(及更高版本)为我们提供了导出功能。使用此功能,我们可以将表中的数据以及相应的元数据导出到HDFS文件中。数据以json格式存储。以这种方式导出的数据可以使用IMPORT命令导入回另一个数据库或配置单元实例 请参阅更详细的信息。基本上,你做一件事,就是把文件(转储)加载到HIVE表中(如A),并将其视为转储。现在,在将该文件重新加载到其他配置单元表(例如B)中

是否有任何方法可以生成配置单元表转储,以便可以发送表转储并将其重新加载到配置单元中,从而保留分区和bucketing结构

Hive 0.8(及更高版本)为我们提供了
导出功能。使用此功能,我们可以将表中的数据以及相应的元数据导出到HDFS文件中。数据以json格式存储。以这种方式导出的数据可以使用
IMPORT
命令导入回另一个数据库或配置单元实例


<>请参阅更详细的信息。

基本上,你做一件事,就是把文件(转储)加载到HIVE表中(如A),并将其视为转储。现在,在将该文件重新加载到其他配置单元表(例如B)中时,实际上可以基于上一个配置单元表创建B,即A。要创建类似于A的B,可以使用org.apache.hadoop.Hive.metastore.HiveMetastoreClient类访问表A的元存储信息。然后可以加载该文件(转储)并加载到所需的分区。

多亏了Tariq,从命令行导出和导入工作正常,但通过Java代码导出工作,导入失败,它说没有这样的表。通过Java代码,我必须创建一个模式表,然后从dumb导入。。代码//HiveConf conf=new HiveConf();SessionState.start(conf);驱动程序dri=新驱动程序(配置);编译(“从导入表newemp2”hdfs://localhost:8020/user/backup/dump4'"); dri.execute();