安装Sqoop
1.解压
tar -zvxf /sqoop 版本所在位置 -C /解压后位置
2.更改名字
mv /带版本号的Sqoop sqoop
3.配置环境
复制Sqoop-env-template.sh 并重名为 sqoop-env.sh
/dxc/sqoop的路径/conf 下
cp sqoop-env-template.sh sqoop-env.sh
4.修改 sqoop-env.sh 文件
vi sqoop-env.sh
export HADOOP_COMMON_HOME=/hadoop的路径
export HADOOP_MAPRED_HOME=/hadoop的路径
export HBAE_HOME=/hbase的路径
export HIVE_HOME=/hive的路径
5.配置LInux环境
vi /etc/profile
末尾添加
# set sqoop environment
export SQOOP_HOME=/sqoop的路径
export PATH=$PATH:$SQOOP_HOME/bin
export CLASSPATH=$CLASSPATH:$SQOOP_HOME/lib
6.连接数据库
(为了使 Sqoop 能够连接到数据库,
我们需要将 /mysql-connector-java-5.1.46.jar
这个jar包文件放入sqoop 的 lib 文件中,
版本不同,所需 jar包不同)
cp /mysql-connector-java-5.1.46.jar的位置 /sqoop的路径/lib
7.启动 Sqoop
dxc
su - hadoop
source /etc/profile
start-all.sh
8.检查Hadoop集群
jps
9.测试是否可以正常连接数据库
(在出现的信息末尾
information_schema 、 hive 、 mysql ,performance_schema、sys 等数据库的名字,
就证明可以正常连接了)
sqoop list-databases
--connect jdbc:mysql://127.0.0.1:3306/ -username root -P
10.连接hive
(这里需要将 /hive路径下的 lib 目录下的hive-common-2.0.0.jar
也放入安装路径的 lib 目录)
cp /hive-common-2.0.0.jar 所在路径 /sqoop的路径/
11.命令块
登录数据库
mysql -uroot -p
创建 库
create database dxck1;
使用库
use dxck1;
创建表
create table student(number char(9) primary key,name varchar(10));
插入数据
insert into student values('01','lisi');
查询数据
select * from student;
退出
exit
12.在hive中创建 dxck1 数据库 和 student 数据表
启动hive
hive
创建库
create database dxck1;
查看数据库
show databases;
使用数据库
use dxck1
创建表
create table student(number STRING,name STRING)
退出
exit
13.常用命令
1)--connect:MySQL 数据库连接 URL。
2)--username 和-- password:MySQL 数据库的用户名和密码。
3)--table:导出的数据表名。
4)--fields-terminated-by:Hive 中字段分隔符。
5)--delete-target-dir:删除导出目的目录。
6)--num-mappers:Hadoop 执行 Sqoop 导入导出启动的 map 任务数。
7)--hive-import --hive-database:导出到 Hive 的数据库名。
8)--hive-table:导出到 Hive 的表名
14.从 Hive 导出数据,导入到 MySQL
1)--connect:MySQL 数据库连接 URL。
2)--username 和--password:MySQL 数据库的用户名和密码。
3)--table:导出的数据表名。
4)--fields-terminated-by:Hive 中字段分隔符。
6)--export-dir:Hive 数据表在 HDFS 中的存储路径。
15.sqoop 组件应用
列出数据库中的所有数据库
sqoop list-databases -connect
jdbc:mysql://localhost:3306/ -username
root -password Password
列出数据库dxc1的所有表
sqoop list-tables -connect
jdbc:mysql://localhost:3306/dxc1 -username root
-password Password