E-Mapreduce 数据同步|学习笔记

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
数据传输服务 DTS,数据迁移 small 3个月
推荐场景:
MySQL数据库上云
简介: 快速学习 E-Mapreduce 数据同步

开发者学堂课程【快速掌握阿里云 E-MapReduce: E-Mapreduce 数据同步】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/390/detail/5002


E-Mapreduce 数据同步

 

内容介绍

一、基本概念

二、数据传输

 

一、基本概念

数据同步主要是把别的系统数据同步到 ECS-EDM 里面去

基本概念:(一些名字例如)

1. OSS

2. RDS例如数据库、mysql

3. 数据集成(CDP就是内部开发的一个数据连之间互相导向的一个工具、一个网页配置

4. Sqoop它就是一个中间键

 

二、数据传输

步骤问题:以下各步骤的操作方法,期间会写脚本去访问 Hive

1、 上传本地文件到 OSS

(1)、首先要有一个源,这个源就是数据库里的一个表,因为需要从数据库中导出来,大概如下图所示:

image.png

会从其中新建一个实例,也就是建一个数据库;里面有一个账号然后先进入库,再进入账号;完成好了以后,点击数据安全性,它就是需要在 rds这边设置一个白名单,这个白名单就是可以控制哪些地方可以访问 rds

大概就是配的 cdp 的白名单,这些ip需要记住,emr 集群,因为需要跑 sqoop 需要配置emr集群白名单放在这里,也可以去 emr 里去找内网 IP,如图所示:

image.png

如果觉得空了一台机器麻烦,便可以做一些方案优化它,把白名单配好,数据库做好可以登录到库,回到云数据库管理页面,选择登陆数据库

点击登录,便会出现一张现成的 student 表,打开表,执行

SELECT * FROM “student” limit 10;代码,便会出现以下结果表:

image.png

也可以导入文件,导入到学生数据文件中

因为数据少可以直接导入,如果数据很多,也可以通过别的方式传上去,也可以新增一条条写下来,这是第一个导数据到OSS里边

(2)、可以直接打开 OSS 界面,新建一个 Bucket,例如这里建好了一个 testemr这样的一个 Bucket,里边有些数据,比如有一个 example-shaded 包现将它删掉,再重新导入,便导入进来了;它也有一些工具,大家可以下载使用,都是方便的图形化工具,也支持写代码的操作;如果不会操作,可以点击帮助与文档点击如何进行大文件上传;)

2、 通过 CDP 把 RDS 的数据同步到 OSS 中

CDP同步原理:RDS(通过数据传输)——CDP 同步集群(数据传输)——OSS 服务  

(1)、配置网络白名单

要配置 CDP 集群的白名单,如果说是 CDP 也可以通过 ecs 机器,配置 ecs 的白名单

(2)、配置同步任务

先点击到数据集成,先到 Pipeline 列表,这里大概有两种,分别是 ECS Pipeline(用ECS 机器)和普通 Pipeline(用默认的机器);新建一个 Pipeline 名为 rds_2_oss5,再从中创建一个作业,点击 JSON 视图,因为从 rds 到 oss 没有默认的,便把 JSON 的配置文件拷贝过去,放在如图白框中,从 MySQL 到 OSS

image.png

这里有一些配置参数需要根据自己的参数修改配置,例如名称的不统一,另外就是数据库、表、账户、密码、字段,有很多模式可以查看手册另外就是到 oss,point、id、key、bucket 下出仓是哪个需要同步到 school/student 目录下假如删除 student 文件,然后到数据集成作业管理运行文件,如有错误会显示失败,会显示错误地方(错误原因一般是相关的配置没配好,或者权限没开)运行成功,便会显示传过的数据

3、 Hive 访问 OSS 数据

CREATE database school:

DROP TABLE student:

CREATE EXTERNAL TABLE student(

id string,

name string,

age int)

ROW FORMAT DELIMITED

FIELDS TERMINATED BY','

STORED AS TEXTFILE

LOCATION'oss://93recQArCQwaJPOd:KHRaOzQgrJVZweuAVfEB4KNHDUlu6getestemr.oss-cn-hangzhou-internal.aliyuncs.com/warehouse/school/student':

select * from student limit 10:



先通过 getbash 登录集群,先连接集群,到 hadoop 里操作,然后进入 Hive到root 下可能会有权限问题,不要在 root 下运行

将文件 student 和 table 都 drop 掉,然后新建一个表,代码如下:

Hive>CREATE EXTERNAL TABLE student(

> id string,

>name string,

>age int)

>R0W FORMAT DELIITED

>FIELDS TERMINATED BY.

> STORED AS TEXWFIE

>LOCATIONoss://93recQArCQvaJPOd:KHRa0zQgrJVZweuAVfEB4KNHDU1u6g@textemr.oss-cn-hangzhou-internal.aliyuncs.com/varrhouse/school/student

4、 通过 SQOOP 把 RDS 的数据同步到 HDFS 中

image.png

RDS 输入产出是在 Slave 上起一个 maptask,把数据导过来,要配 rds 的白名单,安装 sqoop,演示如下:

image.png

再同步一下,便会提交一个MapReduce的作业,也就是讲map放到splits下,可以调速度、带宽运行成功,查看文件是否存在,然后写hive脚本,建一个表,再仿写这时候location显示本地仓库代码如下:

Hive>CREATE EXTERNAL TABLE student2(

> id string,

>name string,

>age int)

>R0W FORMAT DELIITED

>FIELDS TERMINATED BY.

> STORED AS TEXWFIE

>LOCATION/warehouse/school/student2

OK

Time taken:0.288 seconds

Hive> select* form student2 limit 10;,

查询结果如下:

image.png

另一个方式就是用 hadoop 提供的 mapred distcp 就可以

放入data下面,直接运行一个作业,成功后,查看是否有文件

5、 通过 MR distcp 把数据从 OSS 同步到 HDFS 中

OSS服务(通过数据传输DiskCp)——EMR集群

image.png

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
相关文章
|
SQL 分布式计算 并行计算
Hadoop学习笔记(三)之MapReduce
Hadoop学习笔记(三)之MapReduce
|
7月前
|
存储 SQL 分布式计算
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
Hadoop(HDFS+MapReduce+Hive+数仓基础概念)学习笔记(自用)
547 0
|
消息中间件 存储 关系型数据库
PostqreSQL 表级复制-Londiste3多节点数据同步合 并到单节点|学习笔记
快速学习 PostqreSQL 表级复制-Londiste3多节点数据同步合并到单节点
PostqreSQL 表级复制-Londiste3多节点数据同步合 并到单节点|学习笔记
|
存储 SQL 弹性计算
视频-《 E-MapReduce 组件介绍》|学习笔记(四)
快速学习视频-《 E-MapReduce 组件介绍》
103 0
视频-《 E-MapReduce 组件介绍》|学习笔记(四)
|
存储 分布式计算 运维
视频-《E-MapReduce 组件介绍》|学习笔记(一)
快速学习视频-《E-MapReduce组件介绍》
124 0
视频-《E-MapReduce 组件介绍》|学习笔记(一)
|
SQL 弹性计算 分布式计算
视频-《E-MapReduce》|学习笔记(四)
快速学习视频-《E-MapReduce》
198 0
视频-《E-MapReduce》|学习笔记(四)
|
分布式计算 数据挖掘 Java
MapReduce 基础模型|学习笔记
快速学习 MapReduce 基础模型
219 0
MapReduce 基础模型|学习笔记
|
SQL 分布式计算 Hadoop
Azkaban--使用实战--hadoop 调度(hdfs、mapreduce) | 学习笔记
快速学习 Azkaban--使用实战--hadoop 调度(hdfs、mapreduce)
722 0
Azkaban--使用实战--hadoop 调度(hdfs、mapreduce) | 学习笔记
|
分布式计算 API 调度
Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序|学习笔记
快速学习Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序
Apache Oozie-- 实战操作--集成 hue& 调度 mapreduce 程序|学习笔记
|
分布式计算 Hadoop Java
Apache Oozie-- 实战操作--调度 mapreduce 程序|学习笔记
快速学习 Apache Oozie-- 实战操作--调度 mapreduce 程序
Apache Oozie-- 实战操作--调度 mapreduce 程序|学习笔记

热门文章

最新文章