安装部署sqoop并简单的操作

安装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了

猜你喜欢

转载自blog.csdn.net/magic_ninja/article/details/80499484