当前位置: 首页 > news >正文

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;'
http://www.jsqmd.com/news/229213/

相关文章:

  • DEIM vs 传统ETL:数据处理效率提升300%的秘诀
  • Ubuntu小白必看:5分钟搞定微信安装与基础使用
  • 比手动快10倍:自动化修复Docker启动问题
  • 宝塔面板捕获不到Python日志的原因及解决办法
  • Vim脚本语言Vimscript详解:到底是什么,能做什么?
  • AutoGLM-Phone-9B应用案例:智能工厂系统
  • AutoGLM-Phone-9B部署案例:企业级移动AI方案
  • TERATERM在工业自动化设备维护中的5个实战案例
  • 极速开发:用FASTJSON2快速构建API原型
  • Canvas字体阴影设置技巧:模糊度与偏移量如何调?
  • 背包问题在物流配送中的实际应用案例
  • AutoGLM-Phone-9B优化技巧:利用量化技术减少模型体积
  • AutoGLM-Phone-9B代码解读:多模态融合实现
  • 中文文本情感分析部署:StructBERT轻量CPU版
  • 传统排错 vs AI修复:Redis只读问题效率对比
  • 零基础学会Robot Framework:从安装到第一个测试
  • AI助力Python 3.11下载与安装:一键搞定开发环境配置
  • 1小时搞定!用快马快速验证纯净系统工具创意
  • 告别手动造数据:MOCKJS效率提升全攻略
  • 5分钟原型:用nohup 2>1构建 resilient服务
  • 权限管理ABC:为什么删除文件需要管理员权限?
  • AutoGLM-Phone-9B实战:实时语音转写系统
  • AutoGLM-Phone-9B稳定性:长时间运行保障
  • AutoGLM-Phone-9B容器化部署:Docker最佳实践
  • AutoGLM-Phone-9B智能客服:移动端对话系统实战
  • DDD在微服务架构中的5个实战应用场景
  • 没显卡怎么玩Qwen3-VL?云端镜像2块钱搞定,小白5分钟上手
  • 3分钟极速安装:Linux Python环境搭建对比
  • AutoGLM-Phone-9B车载系统:智能语音交互实战
  • AutoGLM-Phone-9B实战:构建智能医疗助手