mysql数据与Hadoop之间导入导出之Sqoop实例

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:   前面介绍了sqoop1.4.6的 如何将mysql数据导入Hadoop之Sqoop安装,下面就介绍两者间的数据互通的简单使用命令。 显示mysql数据库的信息,一般sqoop安装测试用 sqoop list-databases --connect jdbc:mysql://192.

  前面介绍了sqoop1.4.6的 如何将mysql数据导入Hadoop之Sqoop安装,下面就介绍两者间的数据互通的简单使用命令。

显示mysql数据库的信息,一般sqoop安装测试用

sqoop list-databases --connect jdbc:mysql://192.168.2.101:3306/ --username root --password root

显示数据库里所有表:

sqoop list-tables --connectjdbc:mysql://192.168.2.101:3306/FlowDB --username root -password root

mysql导入到hdfs中

sqoop import --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root --table WorkTable --fields-terminated-by '\t' -m 1

 


sqoop ##sqoop命令
import ##表示导入
--connect jdbc:mysql://ip:3306/sqoop ##告诉jdbc,连接mysql的url
--username root ##连接mysql的用户名
--password admin ##连接mysql的密码
--table aa ##从mysql导出的表名称
--fields-terminated-by '\t' ##指定输出文件中的行的字段分隔符
--target-dir/user/hadoop/databases/ssa/fin_cashier_order
-m 1 ##复制过程使用1个map作业
若是不写--target-dir 则默认是hdfs上的user/username/tablename 路径
如果重复执行,会提示目录已经存在,可以手动删除
该命令执行结束后,观察hdfs的目录/user/{USER_NAME},下面会有一个文件夹是aa,里面有个文件是part-m-00000。该文件的内容就是数据表aa的内容,字段之间是使用制表符分割的。


查看HDFS上的文件
  hadoop fs -cat /user/jzyc/WorkTable/part-m-00000

hdfs导出到mysql中

  把上一步导入到hdfs的数据导出到mysql中。我们已知使用制表符分隔的。那么,我们现在数据库FlowDB中创建一个数据表叫做WorkTable_hdfs,里面有两个字段。然后执行下面的命令

sqoop export --connect jdbc:mysql://192.168.2.101:3306/FlowDB --table WorkTable_hdfs --username root --password root --export-dir /user/jzyc/WorkTable/ --input-fields-terminated-by '\t'

sqoop导入视图到hdfs

sqoop import --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root
--query 'SELECT * FROM view_WorkTable WHERE \$CONDITIONS' -m 1 target-dir /user/jzyc/WorkTable --delete-target-dir --fields-terminated-by ","

将数据从关系数据库导入文件到hive表中,--query 语句使用

sqoop import --append --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root --query "SELECT ID,Classify,Name,ModelType,CreateDate,CreateUserID,DesignJSON,Status from WorkTable where \$CONDITIONS" -m 1 --target-dir /hive/warehouse/WorkTable --fields-terminated-by ","

将数据从关系数据库导入文件到hive表中,--columns --where 语句使用

sqoop import --append --connect jdbc:mysql://192.168.2.101:3306/FlowDB --username root --password root --table WorkTable --columns "ID,Classify,Name,ModelType,CreateDate,CreateUserID" --where "Classify = 1" -m 1 --target-dir /hive/warehouse/WorkTable2 --fields-terminated-by ","

  注意:--target-dir/hive/warehouse/WorkTable2 可以用 --hive-import --hive-table WorkTable2 进行替换

  从上面的信息可以看到sqoop还是走的hadoop的M/R引擎。

  以上只是一些经过验证通过的简单的示例,更复杂的有待后续补充。

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
分布式计算 Hadoop
|
2月前
|
分布式计算 Hadoop 测试技术
Hadoop格式化前备份数据
【7月更文挑战第22天】
82 7
|
2月前
|
存储 分布式计算 Hadoop
hadoop格式化前数据导出
【7月更文挑战第23天】
36 5
|
1月前
|
存储 数据库 数据安全/隐私保护
实时数仓 Hologres产品使用合集之如何进行同一个实例不同库之间的数据迁移
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
1月前
|
分布式计算 调度 数据库
实时数仓 Hologres产品使用合集之实例的链接数打满时,该如何处理
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
1月前
|
分布式计算 MaxCompute 数据库
实时数仓 Hologres产品使用合集之如何解决登录实例失败
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
3月前
|
存储 分布式计算 Hadoop
Hadoop数据重分布的原因
【6月更文挑战第16天】
37 9
Hadoop数据重分布的原因
|
2月前
|
分布式计算 Hadoop 关系型数据库
实时计算 Flink版操作报错合集之Hadoop在将文件写入HDFS时,无法在所有指定的数据节点上进行复制,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
2月前
|
存储 分布式计算 Hadoop
Hadoop字符串型数据
【7月更文挑战第9天】
36 3
|
2月前
|
存储 JSON 分布式计算
hadoop选择数值型数据
【7月更文挑战第9天】
31 1

热门文章

最新文章

推荐镜像

更多