sqoop工具数据迁移

sqoop数据迁移工具

Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql…)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

我的环境

  • centos6.5
  • hadoop2.4
  • sqoop-1.4.4.bin__hadoop-2.0.4-alpha.tar.gz 下载地址
  • jdk1.7
  • mysql

下面为大家介绍mysql的数据导入到hdfs

sqoop是一个工具是可以单机运行的,只需要启动hdfs、yarn(sqoop底层是执行mapreduce程序,所以要启动yarn)和mysql,安装上sqoop就可以实现了。

执行下面命令将mysql中的数据导入到hdfs
 sqoop import --connect jdbc:mysql://192.168.1.112:3306/ecshop --username root --password root --table ecs_account_log      #--connect [mysql连接地址和database]  --username [用户名] --password [密码]  --table [表名] 

运行时控制台会打印出我们熟悉的mapreduce程序执行过程,执行后可以到hdfs的文件管理界面看到这样的目录

这里写图片描述
这里写图片描述

/user/你的登陆用户名/表明

以上是比较简单的语句,我们还可以自定义很多东西实现我们的需求

  • 指定输出路径和输出的columns等等
./sqoop import --connect jdbc:mysql://192.168.1.112:3306/ecshop --username root --password root --table ecs_account_log --target-dir /sqoop/td4 -m 2 --fields-terminated-by '\t' --columns "log_id,user_id,user_money"    --target-dir [输出路径]   -m [map任务个数] --fields-terminated-by [以什么分割]    #--columns [获取哪些列]
  • 有条件的执行where
./sqoop import --connect jdbc:mysql://192.168.1.112:3306/ecshop --username root --password root --table ecs_account_log --target-dir /sqoop/td5 -m 2 --fields-terminated-by '\t' --where 'log_id > 2'     #--where [条件]
  • 写复杂sql语句导入到hdfs
./sqoop import --connect jdbc:mysql://192.168.1.112:3306/ecshop --username root --password root --query 'select * from ecs_account_log where log_id > 5  and $CONDITIONS ' --split-by log_id  --target-dir /sqoop/td6 -m 2    #--query [自定义查询语句] --split-by [指定分隔参数,通常使用主键id] 注意当你使用--query时 -m 不为1 map任务不为1时就要指定--split-by参数了

mysql数据导入到hdfs就介绍到这里,希望能让初学者有些收获。

posted on   愤怒的苹果ext  阅读(29)  评论(0编辑  收藏  举报

编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示