将外部配置单元表从一个VM导出到另一个VM

时间:2018-01-30 15:38:45

标签: hive

我有两个环境,即Dev和stage。两者都安装了hive(相同版本2.1)。在Dev上我有外部hive表指向hbase表。我必须将此hive表导出到舞台。没有强制hbase表也可以迁移。如果使用其中的数据创建托管的hive表,则就足够了。谁能建议我怎么做?下面是场景的图解表示。任何预期方案的解决方案都很有用。

enter image description here 我试过了:

将hive表的数据转储到CSV文件中并将其加载到舞台上的托管hive表中。但是数据有日文字符(非utf8)导致w.r.t阶段的行数更多。开发行数。

我想,这完全是理论上的问题所以不添加查询。如果您想查看疑问,请与我们联系。

1 个答案:

答案 0 :(得分:0)

Dev Hive表 - > Dev HDFS位置 - > Distcp - >阶段HDFS位置 - >导入 - > Stage Hive表

您可以使用以下命令将配置单元数据导出到HDFS位置。

INSERT OVERWRITE DIRECTORY 'hdfs_exports_location/department' SELECT * FROM department;

使用distcp

将HDFS数据复制到舞台环境HDFS位置
hadoop distcp <hdfs_export_location>/department hdfs://<stage name node>/<import location>

从复制的HDFS文件中导入表格

import from '<import location>';

参考: https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport