sqoop部署与使用
sqoop安装
1.下载并解压
scp sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz mini1:/root/apps/
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C install
mv sqoop-1.4.6.bin__hadoop-2.0.4-alpha sqoop
2.修改配置文件
cd sqoop/conf
mv sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
export HADOOP_COMMON_HOME=/root/apps/hadoop/
export HADOOP_MAPRED_HOME=/root/apps/hadoop/
export HIVE_HOME=/root/apps/install/hive/
3.将mysql的驱动包加入到sqoop的lib目录下
cp /root/apps/mysql-connector-java-5.1.9.jar sqoop/lib/
导入数据
从mysql导入到hdfs
#执行命令
sqoop import --connect jdbc:mysql://192.168.38.3:3306/test --driver com.mysql.jdbc.Driver --username root --password 123456 --table emp --m 1
--table 导出哪张表的数据
--m 使用几个mapreduce
--target-dir 指定导入到hdfs上的哪个目录下
--where "city ='sec-bad'" 按条件导入数据
--query 'select id,name,deg from emp WHERE id>1207 and $CONDITIONS' 根据sql查询结果导入数据
--fields-terminated-by '\t' 指定字段间用什么连接,默认是逗号
--split-by id 多个maptask时根据什么字段切片
--incremental append 以增量模式导入
--check-column id 增量模式导入会检查id
--last-value 1208 指明上次导入的数据中最后的id值,增量导入会根据这个值导入此id之后的
#不指定输出目录时,默认输出路径是/user/用户名/表名/part-m-00000
报错:
Streaming result set com.mysql.jdbc.RowDataDynamic@73b090be is still active.
解决(2种方法):
1.在执行命令中加入--driver com.mysql.jdbc.Driver
2.换一个比较新的驱动jar包,但不要用6.x的,百度到的相关资料说6.x的驱动包在这里也会报错,自己没有实验过。
从mysql导入到hive
sqoop import --connect jdbc:mysql://192.168.38.3:3306/test --driver com.mysql.jdbc.Driver --username root --password 123456 --table emp --hive-import --m 1
导出数据
导出数据到mysql,要求mysql中事先有那张表。
从hdfs导出数据到mysql
从hive导出数据只要将hdfs的目录改成hive仓库的目录即可
sqoop export \
--connect jdbc:mysql://192.168.38.3:3306/test \
--driver com.mysql.jdbc.Driver \
--username root \
--password 123456 \
--table employee \
--export-dir /user/root/emp/
#参数说明
--export-dir 将哪个目录下的数据导出
--table 将数据导出到mysql的那张表
--fields-terminated-by '\001' hive仓库里的数据默认分隔符是'\001' 到处是需要指定 默认以逗号分割
作者:py小杰
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络