news 2026/6/12 20:52:15

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/9 5:23:59

Gradle构建提速300%:镜像优化全方案对比评测

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个Gradle镜像性能对比工具&#xff0c;功能&#xff1a;1.自动测试不同镜像源下载速度 2.生成可视化对比图表 3.根据项目依赖特征推荐最佳镜像组合 4.提供历史性能趋势分析 …

作者头像 李华
网站建设 2026/6/12 14:19:27

企业IT支持实战:0X00000709错误的处理案例

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个企业级IT支持系统模块&#xff0c;专门处理0X00000709错误。系统应包含错误自动上报、智能诊断、解决方案推送和修复进度跟踪功能。使用C#开发&#xff0c;集成到现有IT支…

作者头像 李华
网站建设 2026/6/8 6:04:32

OAuth2.0认证入门:5分钟理解核心概念

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个面向初学者的OAuth2.0交互式学习demo。要求&#xff1a;1. 使用比喻(如酒店门卡)解释概念 2. 可视化展示授权流程 3. 提供可点击的简单示例 4. 包含常见问题解答 5. 使用纯…

作者头像 李华
网站建设 2026/6/7 22:29:46

AutoGLM-Phone-9B技术揭秘:90亿参数轻量化设计详解

AutoGLM-Phone-9B技术揭秘&#xff1a;90亿参数轻量化设计详解 随着大模型在移动端的落地需求日益增长&#xff0c;如何在有限算力条件下实现高效、多模态的智能推理成为关键挑战。AutoGLM-Phone-9B 正是在这一背景下诞生的创新成果——一款专为移动设备优化的轻量级多模态大语…

作者头像 李华
网站建设 2026/5/31 6:56:24

AI如何简化Linux权限管理:SUDO -I的智能替代方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 开发一个AI辅助的Linux命令生成器&#xff0c;特别针对权限管理场景。当用户输入自然语言描述如我需要以root身份编辑nginx配置时&#xff0c;自动生成正确的sudo命令如sudo -i vi…

作者头像 李华
网站建设 2026/6/3 6:34:09

企业IT如何应对预览处理器频繁崩溃

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容&#xff1a; 创建一个企业级Windows系统维护工具包&#xff0c;专门解决PREVIEW HANDLER SURROGATE HOST问题。功能包括&#xff1a;1. 批量检测多台电脑的预览处理器状态&#xff1b;2. 自动部…

作者头像 李华