安装sqoop
把安装包解压到文件夹,我在安装hive的同级目录下
配置sqoop
配置mysql连接器
直接把mysql-connector-java-5.1.27.jar包放在sqoop的依赖文件夹中就可以了
配置环境变量
进入配置文件夹conf,然后复制sqoop-env-template.sh为sqoop-env.sh,在sqoop-env.sh里修改,加入路径
cp sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
修改后的文件
因为我还没有安装HBASE,所以我没有加入HBASE的路径,后面安装的话是要加入的。所以安装了的同学要添加HBASE的路径
验证安装
退出到sqoop目录输入:
bin/sqoop help
出现如下信息则是安装成功
简单的操作
实现的是实时数据,每个UID在当天的查询点击次数
进入hive
连接sogou数据库
创建临时表
CREATE TABLE sogou.uid_cnt(
uid STRING,
cnt INT)
COMMENT 'This is the sogou search data of one day'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
STORED AS TEXTFILE;
查询并插入
INSERT OVERWRITE TABLE sogou.uid_cnt SELECT uid,count(*) as cnt from sogou.sogou_ext_20111230 group by uid;
使用 Sqoop 将数据导入 MySQL
创建数据库并连接
CREATE DATABASE my_test;
use my_test;
创建表
CREATE TABLE uid_cnt(
uid varchar(255) DEFAULT NULL,
cnt int(11) DEFAULT NULL
)DEFAULT CHARSET=utf8;
设置 mySQL 访问权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
FLUSH PRIVILEGES;
注入数据
进入到sqoop安装目录
然后执行
bin/sqoop export –connect jdbc:mysql://master:3306/my_test –username root -password 123456 –table uid_cnt –export-dir ‘/user/hive/warehouse/sogou.db/uid_cnt’ –fields-terminated-by ‘\t’
查看 mySQL 中 my_test 下的 uid_cnt 表的数据
select * from uid_cnt;
这样就完美ok了