news 2026/7/1 22:48:53

Sqoop入门常用命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Sqoop入门常用命令

使用sqoop列出mysql中数据库database

sqoop list-databases --connect jdbc:mysql://192.168.249.130:3306 --username root --password Mzp_2022!

如果出现下面这个报错,说明mysql的jdbc没有配置好

这个包放到这个位置

这实际是sqoop连接不上MySQL了

JDBC = Java Database Connectivity,翻译过来是:Java 数据库连接技术

✅ 大白话解释:JDBC 是一套Java 语言写的「通用接口 / 工具包」,作用是:让 Java 程序,能连接上各种数据库(MySQL/Oracle 等),并且对数据库执行增删改查 SQL 语句

正常是这样的

使用sqoop列出mysql中指定数据库duoduo_db中的所有表

/database的名字

-- 使用sqoop列出mysql中指定数据库duoduo_db中的所有表 sqoop list-tables --connect jdbc:mysql://192.168.249.130:3306/duoduo_db --username root --password Mzp_2022! sqoop list-tables --connect jdbc:mysql://192.168.249.130:3306/database的名字 --username root --password Mzp_2022!

从mysql数据库duoduo_db中导出表base_category1到HDFS平台/bi2513/category1

sqoop import --connect jdbc:mysql://192.168.249.130:3306/duoduo_db --username root --password Mzp_2022! --table base_category1 -m 1 --target-dir /bi2513/category1 --delete-target-dir --driver com.mysql.jdbc.Driver

sqoop import——把 MySQL 数据库里的表数据,导入到 HDFS 中

--username root --password Mzp_2022! ——用账号root、密码Mzp_2022!访问duoduo_db数据库
--table base_category1 ——访问duoduo_db数据库,将该库下的base_category1表的全部数据
-m 1 ——用1 个 Map 任务
--target-dir /bi2513/category1 ——导入到 HDFS 的/bi2513/category1目录下

--delete-target-dir——

执行这条 Sqoop 导入命令之前,自动检测 HDFS 上的目标目录/bi2513/category1 是否存在:

✅ 如果存在→ 自动删除这个目录(包括目录下所有文件),然后再重新创建该目录,执行数据导入;

✅ 如果不存在→ 什么都不做,直接创建目录,执行数据导入。
--driver com.mysql.jdbc.Driver——指定使用 MySQL 的 JDBC 驱动类完成连接

从MySQL取数据中插入特定要求的 行 到hdfs中

结尾加query

sqoop import \ --connect jdbc:mysql://192.168.249.130:3306/duoduo_db \ --username root \ --password Mzp_2022! \ --target-dir /user/category3 \ --delete-target-dir \ --num-mappers 1 \ --fields-terminated-by "\t" \ --query 'SELECT * FROM base_category3 WHERE id<=100 and $CONDITIONS;'
sqoop import \ --connect jdbc:mysql://192.168.249.130:3306/duoduo_db \ --username root \ --password Mzp_2022! \ --target-dir /user/category3 \ --delete-target-dir \ --num-mappers 1 \ --fields-terminated-by "\t" \ --query "SELECT * FROM base_category3 WHERE NAME LIKE '%机%' and \$CONDITIONS;"

提示:query的结尾必须加'$CONDITIONS', must contain '$CONDITIONS' in WHERE clause.
如果query后使用的是双引号,则$CONDITIONS前必须加转义符,防止shell识别为自己的变量。

但是你一定要注意--query不可与 --table同用。--query是调用符合条件的部分数据。--table是整个表导入进去。

加where 列=条件

sqoop import \ --connect jdbc:mysql://192.168.249.130:3306/duoduo_db \ --username root \ --password Mzp_2022! \ --target-dir /user/category3 \ --delete-target-dir \ --num-mappers 1 \ --fields-terminated-by "\t" \ --query "SELECT * FROM base_category3 WHERE NAME LIKE '%机%' and \$CONDITIONS;" 或: sqoop import \ --connect jdbc:mysql://192.168.249.130:3306/duoduo_db \ --username root \ --password Mzp_2022! \ --target-dir /user/category3 \ --delete-target-dir \ --num-mappers 1 \ --fields-terminated-by "\t" \ --table base_category3 \ --where "id=10"

迁移特定的列

方法1

sqoop import \ --connect jdbc:mysql://192.168.249.130:3306/duoduo_db \ --username root \ --password Mzp_2022! \ --target-dir /user/category3 \ --delete-target-dir \ --num-mappers 1 \ --fields-terminated-by "\t" \ --columns id,name \ --table base_category3

-- 方法2

sqoop import \ --connect jdbc:mysql://192.168.249.130:3306/duoduo_db \ --username root \ --password Mzp_2022! \ --target-dir /user/category3 \ --delete-target-dir \ --num-mappers 1 \ --fields-terminated-by "\t" \ --query 'SELECT id,name FROM base_category3 WHERE id<=100 and $CONDITIONS;'
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/13 12:43:04

告别手动排查:自动化解决VERIFY TOKEN FAIL效率提升300%

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 构建一个自动化测试工具&#xff0c;专门用于检测和修复消息推送配置错误。工具应能自动模拟请求、验证token、检查签名&#xff0c;并生成对比报告&#xff0c;展示自动化相比手动…

作者头像 李华
网站建设 2026/6/26 0:08:28

效率对比:传统vs AI生成3D饼图的10倍差距

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 生成两份对比代码&#xff1a;1. 传统方式手动编写的ECARTS 3D饼图代码&#xff1b;2. AI生成的同等效果代码。数据展示公司部门预算分配&#xff1a;研发40%&#xff0c;市场25%&…

作者头像 李华
网站建设 2026/6/29 20:19:42

微服务开发效率提升300%的秘诀

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用快马平台快速生成一个博客平台的微服务架构。要求&#xff1a;1) 前后端分离 2) 包含用户服务、文章服务和评论服务 3) 使用JWT认证 4) 集成Redis缓存 5) 自动生成单元测试和A…

作者头像 李华
网站建设 2026/6/28 17:57:26

Excel合并单元格在企业报表中的5个实战技巧

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个企业报表合并单元格处理工具&#xff0c;针对常见的财务报表、销售报表等场景预设模板。用户选择报表类型后&#xff0c;系统自动识别表头、汇总行等需要合并的区域。提供…

作者头像 李华
网站建设 2026/6/30 22:28:47

1分钟搞定ULIMIT:快速生成配置的原型工具

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个ULIMIT配置快速生成器&#xff0c;特点&#xff1a;1. 基于简单问卷自动生成配置&#xff1b;2. 支持常见应用场景预设&#xff1b;3. 一键导出为shell脚本&#xff1b;4.…

作者头像 李华
网站建设 2026/6/30 4:41:43

AI助力C# MQTT开发:自动生成物联网通信代码

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 请生成一个完整的C# MQTT客户端示例&#xff0c;要求包含以下功能&#xff1a;1.使用MQTTnet库实现 2.支持TLS加密连接 3.包含连接状态回调处理 4.实现主题订阅/取消订阅 5.支持Qo…

作者头像 李华