hive:从一台机器上的表数据导入到另一台机器的hive中的某张表(机器不互通)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38750084/article/details/86537949

先在第一台机器执行:

1.创建目录

root/dirTmp

2.导出数据

INSERT OVERWRITE LOCAL DIRECTORY '/root/dirTmp' ROW FORMAT DELIMITED FIELDS TERMINATED by ',' select * from rencai_test limit 10000;

则创建的目录下已经有了数据:

3.此文件拷贝到另一台机器的某目录上

再在另一台机器执行

创建目录.:

/dirTmp

然后将文件传上去

4.创建一张和第一台机器一模一样的表

第一台机器执行 show create table 表名,查看建表语句

如:

CREATE TABLE `rencai_test1`(
  `id` string, 
  `province` string, 
  `city` string, 
  `province_code` string, 
  `city_code` string, 
  `first_industry` string, 
  `second_industry` string, 
  `first_industry_code` string, 
  `second_industry_code` string, 
  `new_position` string, 
  `total_position` string, 
  `total_company` string, 
  `avg_salary` string, 
  `insert_time` string, 
  `current_time` string)
row format delimited
fields terminated by ',';

4.再将文件导入hdfs,注意导入hdfs目录为上面建的表的底层hdfs目录,查询方式:show create table 表名

 将0000那个文件传到这个hdfs的目录:

hadoop fs -put /dirTmp/000000_0 /user/hive/warehouse/dws.db/rencai_test1

 然后第二台机器创建的这个表就有导过来的数据了。

猜你喜欢

转载自blog.csdn.net/weixin_38750084/article/details/86537949