基于 EMR 的大数据计算__典型应用_用户指南_云数据库 RDS 版-阿里云
E-MapReduce 是一项 Web 服务,简化了大数据处理,提供的大数据框架可以让您轻松、高速、经济、安全、稳定地处理大数据,满足如日志分析、数据仓库、商业智能、机器学习、科学模拟等业务需求。您可以运行 Hadoop、Spark 分析 RDS 中数据,也可以把分析完成的数据存放到 RDS 中,提供给在线系统使用。
通过 Sqoop 组件,可以实现 RDS 与 E-MapReduce 间数据的导入导出,实现大数据分析处理。
前提条件
- 已开通 E-MapReduce 服务,并完成项目设置。
- E-MapReduce 版本从 1.3 开始都会默认支持 Sqoop 组件,所以您无需自行安装。
操作步骤
我们这里主要介绍几个常见的数据导入导出场景:
说明:在执行下面的命令前,请先使用 su hadoop
命令切换你的用户为 Hadoop。
从 MySQL 到 HDFS
在集群的 Master 节点上执行如下命令:
sqoop import --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --table <tablename> --target-dir <hdfs-dir>
参数说明如下:
- dburi:数据库的访问连接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:数据库的名字,例如 user
- username:数据库登录用户名
- password:用户对应的密码
- tablename:MySQL 表的名字
- hdfs-dir:hdfs 的写入目录,例如 /user/hive/result
详细的参数使用说明请参见 Sqoop Import。
从 HDFS 到 MySQL
创建好对应 HDFS 中的数据结构的 MySQL 表。
在集群的 Master 节点上执行如下命令,指定要导出的数据文件的路径。
sqoop export --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --table <tablename> --export-dir <hdfs-dir>
- dburi:数据库的访问连接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:数据库的名字,例如 user
- username:数据库登录用户名
- password:用户对应的密码
- tablename:MySQL 的表的名字
- hdfs-dir:要导到 MySQL 去的 HDFS 的数据目录,例如 /user/hive/result
详细的参数使用说明请参见 Sqoop Export。
从 MySQL 到 Hive
将数据导入 Hive 的同时也新建一个 Hive 表。
sqoop import --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --table <tablename> --fields-terminated-by "t" --lines-terminated-by "n" --hive-import --target-dir <hdfs-dir> --hive-table <hive-tablename>
- dburi:数据库的访问连接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:数据库的名字,例如 user
- username:数据库登录用户名
- password:用户对应的密码
- tablename:MySQL 的表的名字
- hdfs-dir:要导到 MySQL 去的 HDFS 的数据目录,例如 /user/hive/result
- hive-tablename:对应的 Hive 中的表名,可以是 xxx.yyy
详细的参数使用说明请参见 Sqoop Import。
从 Hive 到 MySQL
请参见从 HDFS 到 MySQL,只需要指定 Hive 表对应的 HDFS 路径即可。
使用 SQL 作为导入条件
除了指定 MySQL 的全表导入,还可以写 SQL 来指定导入的数据
sqoop import --connect jdbc:mysql://<dburi>/<dbname> --username <username> --password <password> --query <query-sql> --split-by <sp-column> --hive-import --hive-table <hive-tablename> --target-dir <hdfs-dir>
- dburi:数据库的访问连接,例如 jdbc:mysql://192.168.1.124:3306/
- dbname:数据库的名字,例如 user
- username:数据库登录用户名
- password:用户对应的密码
- query-sql:使用的查询语句,例如
SELECT * FROM profile WHERE id>1 AND $CONDITIONS
。记得要用引号包围,最后一定要带上AND $CONDITIONS
- sp-column:进行切分的条件,一般跟 MySQL 表的主键
- hdfs-dir:要导到 MySQL 去的 HDFS 的数据目录,例如 /user/hive/result
- hive-tablename:对应的 Hive 中的表名,可以是 xxx.yyy
详细的参数使用说明请参见 Sqoop Query Import。
集群和其他数据库的网络配置请参见 用 Aliyun E-MapReduce 集群的 Sqoop 工具和数据库同步数据如何配置网络。
最后更新:2016-11-23 16:04:12
上一篇:
基于MaxCompute的大数据计算__典型应用_用户指南_云数据库 RDS 版-阿里云
下一篇:
常用 SQL 命令(MySQL)__附录_用户指南_云数据库 RDS 版-阿里云
配置 IDEA 开发环境__开发工具准备_开发者指南_企业级分布式应用服务 EDAS-阿里云
域名分组__域名操作_产品使用手册_云解析-阿里云
BootstrapAction__数据类型_API参考_E-MapReduce-阿里云
授权安全组权限__安全组相关接口_API 参考_云服务器 ECS-阿里云
配置示例__EDAS 中的 Dubbo 开发_开发者指南_企业级分布式应用服务 EDAS-阿里云
发送邮件的三种方式__发送邮件_使用手册_邮件推送-阿里云
调试运行__脚本开发_Lite用户使用手册_性能测试-阿里云
sort示例__示例程序_MapReduce_大数据计算服务-阿里云
应用案例__安全组_用户指南_云服务器 ECS-阿里云
查询实例资源规格列表__其他接口_API 参考_云服务器 ECS-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云