news 2026/7/8 4:04:13

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/12 5:44:39

不安装TeX Live也能用:在线LaTeX环境体验

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个轻量级LaTeX环境原型&#xff0c;实现&#xff1a;1.基于Web的TeX Live核心功能 2.免安装即时使用 3.基础模板库 4.实时编译预览 5.导出PDF功能。要求能在浏览器中运行&am…

作者头像 李华
网站建设 2026/7/1 14:59:24

GitBash vs 其他终端工具:下载选择与效率对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个终端工具对比平台&#xff0c;专门比较GitBash与其他流行终端工具。功能包括&#xff1a;1) 下载安装步骤对比&#xff1b;2) 启动速度测试&#xff1b;3) 常用命令执行效…

作者头像 李华
网站建设 2026/7/1 19:02:33

AutoGLM-Phone-9B性能测试:能效比优化方案

AutoGLM-Phone-9B性能测试&#xff1a;能效比优化方案 随着大模型在移动端的部署需求日益增长&#xff0c;如何在有限硬件资源下实现高效推理成为关键挑战。AutoGLM-Phone-9B作为一款专为移动设备设计的多模态大语言模型&#xff0c;不仅集成了视觉、语音与文本处理能力&#…

作者头像 李华
网站建设 2026/7/2 16:48:46

Ubuntu安装模拟器:先体验再实操

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个Ubuntu安装过程模拟器&#xff0c;功能&#xff1a;1.完全仿真的安装界面 2.支持多种安装场景配置 3.错误操作后果模拟 4.操作评分系统 5.学习进度跟踪。使用Electron开发…

作者头像 李华
网站建设 2026/7/1 14:59:25

用Wechaty+AI打造智能微信机器人:从0到1实战

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 使用Wechaty框架开发一个智能微信机器人&#xff0c;集成Kimi-K2模型实现以下功能&#xff1a;1.自动回复常见问题&#xff08;如天气、时间查询&#xff09;2.基于关键词的消息分…

作者头像 李华
网站建设 2026/7/1 14:59:34

5分钟快速验证:Ubuntu+PyCharm开发环境搭建

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个极简PyCharm环境配置方案&#xff1a;1.使用预配置的Docker镜像 2.包含常用Python库预安装 3.内置示例项目 4.支持VS Code配置导入。要求整个部署过程不超过5分钟&#xf…

作者头像 李华