将数据从数据仓库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 中被导出的文件字段的分隔符