目录
1.sqoop安装
1.1. 下载sqoop安装包,点击下载
# linux系统可以直接使用wget下载
wget --no-check-certificate https://archive.apache.org/dist/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
1.2. 配制sqoop环境变量
export SQOOP_HOME=/sqoop_home
export PATH=$PATH:$SQOOP_HOME/bin
1.3. 修改sqoop配制文件
cp $SQOOP_HOME/conf/sqoop-env-template.sh $SQOOP_HOME/conf/sqoop-env.sh
vim $SQOOP_HOME/conf/sqoop-env.sh
导入hadoop集群的环境
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HIVE_HOME=$HIVE_HOME
export ZOOCFGDIR=$ZK_HOME
1.4. 修改sqoop配制文件
下载mysql的jdbc连接驱动上传到sqoop_home/lib目录下这里用的版本是5.1.47
1.5. 启动测试
sqoop list-databases --connect jdbc:mysql://localhost:3306/?useSSL=false --username root --password 'admin'
2.sqoop导入
2.1. 关键词备注
关键词 | 含义 |
import | 导入 |
--connect | 连接地址 |
--username | 用户名 |
--password | 密码 |
--fields-terminated-by | 分隔符 |
--target-dir | 存储导入的HDFS目录 |
--delete-target-dir | 如果目录已经存在,删除目录 |
--num-mappers | 并发度 |
--query | 查询语句 |
2.2. mysql导入HDFS语法
sqoop import \
--connect jdbc:mysql://localhost:3306/henan \
--username root \
--password 123456 \
--fields-terminated-by "\t" \
--target-dir /tmp/henan/mytest/2024-03 \
--delete-target-dir \
--num-mappers 1 \
--query "select id,name,age,date_time from mytest where "'$CONDITIONS;'
注意 query需要加 '$CONDITIONS;'
3.sqoop导出
3.1. 关键词备注
关键词 | 含义 |
import | 导入 |
--connect | 连接地址 |
--username | 用户名 |
--password | 密码 |
--input-fields-terminated-by | 分隔符 |
--export-dir | 导出指定HDFS目录的数据 |
--table | 表名称 |
--num-mappers | 并发度 |
--update-key | 增量更新的key验证 |
--update-mode | 设置mysql允许插入 |
3.2. Hive导出Mysql语法
sqoop export \
--connect jdbc:mysql://localhost:3306/henan \
--username root \
--password 123456 \
--input-fields-terminated-by "\t" \
--export-dir /hive/warehouse/student \
--table mytest \
--num-mappers 1 \
--update-key "id,name,age,date_time" \
--update-mode allowinsert