百度网盘下载地址(平台搭建全套安装包):
链接:https://pan.baidu.com/s/11HyrxVKevgvJc-rI6bFLjA
提取码:sybk
1.上传并解压安装包
2.修改sqoop/conf/sqoop-env.sh
mv sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh
#添加环境
export HADOOP_COMMON_HOME=/opt/module/hadoop
export HADOOP_MAPRED_HOME=/opt/module/hadoop
export HIVE_HOME=/opt/module/hive
export ZOOCONFIG=/opt/module/zookeeper/conf
export HBASE_HOME=/opt/module/hbase
3.拷贝jdbc驱动到lib目录
cp /opt/software/mysql/mysql-connector-java-5.1.27-bin.jar /opt/module/sqoop/lib/
4.测试
#查看命令
bin/sqoop help
#测试
bin/sqoop list-databases --connect jdbc:mysql://master:3306 --username root --password root
5.使用
全部导入(mysql->hdfs) 全量抽取
bin/sqoop import \
--connect jdbc:mysql://master:3306/test_db \
--username root \
--password 123456 \
--table mysql_student \
--hive-table hive_student \
--hive-import \
--delete-target-dir \
--target-dir /usr/hive/warehouse/ods.db \
--num-mappers 1 \
--fields-terminated-by "\t"
–check-column用来指定一些列,这些列在导入时用来检查做决定数据是否要被作为增量数据。注意:字符类型不能作为增量标识字段 –incremental用来指定增量导入的模式(Mode),append和lastmodified–last-value指定上一次导入中检查列指定字段最大值
增量抽取
sqoop import \
--connect jdbc:mysql://master:3306/mysqlXinxing \
--username root \
--password 123456 \
--hive-database stud_store_ods_zj \
--table mysql_student \
--hive-table hive_student \
--hive-import \
--fields-terminated-by ',' \
--check-column id \
--incremental append \
--last-value 5
target-dir 判断目录是否存在没有就创建
delete-target-dir 有就删除
num-mappers mapper的个数
fields-terminated-by 文件分隔符
需要指定表名
导出数据
从hadoop集群导出: export 关键字
HIVE/HDFS 到 RDBMS:
bin/sqoop export \
--connect jdbc:mysql://master:3306/company \
--username root \
--password 密码 \
--table 表名 \
--num-mappers 1 \
--export-dir /user/hive/warehouse/staff_hive \
--input-fields-terminated-by "\t"
#export-dir 数据的路径
#input-fields-terminated-by 分隔符
补充内容
Apache Sqoop(SQL-to-Hadoop)项目旨在协助RDBMS与Hadoop之间进行高效的大数据交流。用户可以在 Sqoop 的帮助下,轻松地把关系型数据库的数据导入到 Hadoop 与其相关的系统 (如HBase和Hive)中;同时也可以把数据从 Hadoop 系统里抽取并导出到关系型数据库里。
Sqoop作为Apache基金会曾经的顶级项目在几年前就已经退役了,团队不再支持技术更新和维护,Apache Sqoop 最后一个版本发布时间是2019年01月18日,sqoop官网也已经废弃。
所以sqoop这一简单好用的框架已经没有太大的学习价值,建议移步一些新兴的数据迁移工具,例如阿里云所开发的DataX