将数据从数据仓库Hive导入到MySQL

1.启动Hadoop,hive,mysql

2.在mysql中建表(需要导入数据的)

mysql> CREATE TABLE `dbtaobao`.`user_log` (`user_id` varchar(20),`item_id` varchar(20),`cat_id` varchar(20),`merchant_id` varchar(20),`brand_id` varchar(20), `month` varchar(6),`day` varchar(6),`action` varchar(6),`age_range` varchar(6),`gender` varchar(6),`province` varchar(10)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
3.选择数据仓库live中的数据:
建临时表:
create table dbtaobao.inner_user_log(user_id INT,item_id INT,cat_id INT,merchant_id INT,brand_id INT,month STRING,day STRING,action INT,age_range INT,gender INT,province STRING) COMMENT 'Welcome to XMU dblab! Now create inner table inner_user_log ' ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;

选中要被导出的数据:

INSERT OVERWRITE TABLE dbtaobao.inner_user_log select * from dbtaobao.user_log;

3.使用Sqoop将数据从Hive导入MySQL

字段值解释:
localhost:3306/dbtaobao -->(数据库名)MySQL
table:user_log -->(将要被你导入数据的mysql数据库表名)
export-dir:’********‘ -->HDFS上文件的路径(数据仓库hive中需要被导出的数据库表)
fields-terminated-by ',' -->Hive 中被导出的文件字段的分隔符

posted @ 2017-12-05 18:35  soyosuyang  阅读(7049)  评论(0编辑  收藏  举报