hive数据同步(sqoop :Mysql ==>Hive,hive put 文件到hive)

一、Sqoop同步mysql数据到hive:

假设我们在Hive里新建了一张测试表info_test,该表对应mysql 数据库中info_test:   

 CREATE TABLE info_test(id BIGINT,uid INT, name STRING, tel STRING, )
    row format delimited 
    fields terminated by '~' ;

我们以‘~’分割字符,同时,注意,两张表的字段以及顺序必须一致。

接着,开始利用sqoop同步数据:

sqoop import --connect jdbc:mysql://你的mysql数据库地址/数据库表名(如info_test)?zeroDateTimeBehavior=convertToNull --username (账户) --password (密码) --table mysql数据库表名(如info_test)                --hive-table db名+表名(如info.info_test )              --hive-import --delete-target-dir -m 1  --hive-overwrite --fields-terminated-by "~"

解释一下几个参数:

1、overwrite:覆写

2、--fields-terminated-by "~" :指定该命令是对应建表时的那个‘fields terminated by '~' ;’表示以此分割

二、通过put文件到Hive中同步数据:

清空表:/data/dps-hadoop/hadoop-2.6.4/bin/hadoop fs -rm /user/hive/warehouse/r****.db/spider_buying_test/*
PUT数据:/data/dps-hadoop/hadoop-2.6.4/bin/hadoop fs -put ./SettingBuying.txt /user/hive/warehouse/****.db/spider_buying_test/



猜你喜欢

转载自blog.csdn.net/topkipa/article/details/80521671