注意:在安装sqoop之前要配置好本机的Java环境和Hadoop环境
1 解压配置环境变量
cd /root/softwares
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local
cd /usr/local
mv sqoop-1.4.7.bin__hadoop-2.6.0 sqoop
2 设置sqoop环境变量
vi /root/.bash_profile
#添加以下内容
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
#使设置立刻生效
source /root/.bash_profile
vi /etc/profile
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
source /etc/profile
3 新建配置文件
mv ./conf/sqoop-env-template.sh ./conf/sqoop-env.sh
4 修改配置文件
配置文件:
vi ./conf/sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/hadoop-2.7.7/
export HADOOP_MAPRED_HOME=/usr/local/hadoop-2.7.7/
export HIVE_HOME=/usr/local/hive-2.3.7/
5 拷贝mysql驱动
cp /root/softwares/mysql-connector-java-8.0.26.jar ./lib/
6 验证安装:
#查看sqoop的版本
sqoop version
7 Sqoop数据导出操作
#mysql创建表
CREATE TABLE `tuser` (
`id` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT 'null'
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
#导出语句:
[root@qianfeng01 sqoop1.4.7]# sqoop export --connect jdbc:mysql://hadoop01:3306/test \
--username root \
--password 123456 \
--table tuser \
--driver com.mysql.cj.jdbc.Driver \
--export-dir '/user/hive/warehouse/test.db/t_user2/*' \
--input-fields-terminated-by ',' \
--input-null-string '\\N' \
--input-null-non-string '\\N' \
-m 1
#mysql创建表
CREATE TABLE `orders` (
`dt` varchar(255) NOT NULL,
`order_cnt` int DEFAULT NULL,
`order_sum` double DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
# 导出语句:
[root@qianfeng01 sqoop1.4.7]# sqoop export --connect jdbc:mysql://hadoop01:3306/test?characterEncoding=utf8 \
--username root --password 123456 --table orders \
--driver com.mysql.cj.jdbc.Driver \
--export-dir /user/hive/warehouse/test.db/dm_order/* \
--input-fields-terminated-by ","
#注意:
--update-mode : updateonly,是默认,仅更新;allowinsert:更新并允许插入
--update-key :指定MySQL中的表的主键