大数据搬站step by step

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: IDC,ECS自建和云数据库之间的数据搬站 1 IDC -> MaxCompute / EMR **【方案】:使用“独享数据集成资源组”,绑定可以连通用户IDC的用户VPC,然后提工单,由阿里云数据集成开发人员在独享数据集成资源组上配置路由,使独享数据集成资源组可以访问IDC内数据源。

IDC / ECS自建和云数据库之间的数据搬站

1 IDC -> MaxCompute / EMR

【方案】:使用“独享数据集成资源组”,绑定可以连通用户IDC的用户VPC,然后提工单,由阿里云数据集成开发人员在独享数据集成资源组上配置路由,使独享数据集成资源组可以访问IDC内数据源。

1.1 IDC Hadoop(HDFS / Hive)-> EMR

【HDFS读取】:https://help.aliyun.com/knowledge_detail/137721.html
【HDFS写入】https://help.aliyun.com/knowledge_detail/137759.html

1.12  前期准备

  • 创建好EMR集群,详细文档请参见:E-MapReduce集群创建
  • 现在自建Hadoop迁移到E-MapReduce可以通过OSS进行过度,或者使用阿里云高速通道产品建立线下IDC和线上E-MapReduce所在VPC网络的连通。
  • 配置DataWorks独享数据集成资源组,详细文档请参见:独享资源模式

本文以在华北2(北京)区域创建项目为例,同时启动Dataworks的相关服务。

2.12  数据准备

IDC集群测试数据准备,本例中HIVE建表语句如下:

CREATE TABLE IF NOT EXISTS test(
id INT,
name STRING,
hobby STRING,
region STRING
)
PARTITIONED BY(pt string)
row format delimited
fields terminated by ','
lines terminated by '\n'
;

插入测试数据:

insert into
test PARTITION(pt =1) values(1,'xiaoming','book','beijing'),(2,'lilei','TV','nanjing'),(3,'lihua','music','hebei'),(4,'xiaoma','draw','henan'),(5,'laoli','piano','heinan');

2.13 IDC自建Hadoop数据源连接
Dataworks数据集成-数据源管理-新增数据源-HDFS
1
   
使用“独享数据集成资源组”,绑定可以连通用户IDC的用户VPC,然后提工单,由阿里云数据集成开发人员在独 享数据集成资源组上配置路由,使独享数据集成资源组可以访问IDC内数据源。

EMR的Hadoop数据源连接
Dataworks数据集成-数据源管理-新增数据源-HDFS
2

3

2.14 在EMR的Hadoop上创建目录来存放ECS集群同步过来的数据

hadoop fs -mkdir /emr_test

2.15 在DataWorks中创建数据同步节点
    配置数据同步节点并点击转换为脚本模式,配置MaxCompute Reader 和 HDFS Writer 脚本可参考官方文档:配置HDFS Reader 和 配置HDFS Writer
本文档中配置如下:

{                                                           
    "type": "job",
    "steps": [
        {
            "stepType": "hdfs",
            "parameter": {
                "path": "/user/hive/warehouse/gitdatabase.db/test/",
                "datasource": "IDC_EMR",
                "column": [
                    "*"
                ],
                "encoding": "UTF-8",
                "fieldDelimiter": ",",
                "fileType": "text"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "hdfs",
            "parameter": {
                "path": "/emr_test/",
                "fileName": "emr_test",
                "datasource": "IDC_EMR",
                "column": [
                    {
                        "name": "id",
                        "type": "int"
                    },
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "hobby",
                        "type": "string"
                    },
                    {
                        "name": "region",
                        "type": "string"
                    },
                    {
                        "name": "col5",
                        "type": "date"
                    }
                ],
                "writeMode": "append",
                "encoding": "UTF-8",
                "fieldDelimiter": ",",
                "fileType": "text"
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 2,
            "throttle": true,
            "mbps": "10"
        }
    }
}

配置独享资源组:
4

2.16 脚本按需求配置并保存,运行节点:
5

查看EMR集群hdfs数据是否同步成功:hadoop fs -cat /emr_test/*
6

1.2 IDC Kafka -> EMR Kafka

【Kafka读取】:https://help.aliyun.com/knowledge_detail/137745.html
【Kafka写入】https://help.aliyun.com/knowledge_detail/145510.html

1.21  环境准备

  • 已完成阿里云EMR服务自动化搭建Kafka集群,详细文档请参见:E-MapReduce
  • 数据工场DataWorks,详细文档请参见:DataWorks
  • 购买独享数据集成资源,使独享资源组可以访问您的云资源,详细文档请参见:独享资源组模式
    IDC自建需要与线上E-MapReduce所在网络的连通。

为保证您可以顺利登录EMR集群Header主机,及DataWorks可以顺利和EMR集群Header主机通信,请您首 先配置EMR集群Header主机安全组,放行TCP 22及TCP 9092端口。
本文中在华北2(北京)区域创建项目,同时启动DataWorks相关服务。通过独享集成资源组绑定到与Kafka对应的VPC,点击专有网络绑定,选择与Kafka对应的交换机进行连接。

1.22  准备IDC kafka测试数据
创建测试Topic
执行如下命令创建测试所使用的Topic testkafka。

[root@emr-header-1 ~]# kafka-topics.sh --zookeeper emr-header-1:2181/kafka-1.0.1 --partitions 10 --replication-factor 3 --topic testkafka  --create
Created topic "testkafka".

执行如下命令查看已创建的Topic。

[root@emr-header-1 ~]# kafka-topics.sh  --list --zookeeper emr-header-1:2181/kafka-1.0.1
__consumer_offsets
_emr-client-metrics
_schemas
connect-configs
connect-offsets
connect-status
testkafka

写入测试数据
您可以执行如下命令,模拟生产者向Topic testkafka中写入数据。由于Kafka用于处理流式数据,您可以持续不断的向其中写入数据。为保证测试结果,建议您写入10条以上的数据。

[root@emr-header-1 ~]# kafka-console-producer.sh --broker-list emr-header-1:9092 --topic testkafka
>123
>abc
>

为验证写入数据生效,您可以同时再打开一个SSH窗口,执行如下命令,模拟消费者验证数据是否已成功写入Kafka。当数据写入成功时,您可以看到已写入的数据。

[root@emr-header-1 ~]# kafka-console-consumer.sh --bootstrap-server emr-header-1:9092 --topic testkafka --from-beginning
123
abc

1.23  在EMR kafka创建topic来放同步过来的数据:

[root@emr-header-1 ~]# kafka-topics.sh --zookeeper emr-header-1:2181/kafka-1.0.1 --partitions 10 --replication-factor 3 --topic emrkafka  --create
Created topic "testkafka".

 
1.24  数据同步
       a. 在您的业务流程中右键单击数据集成,选择新建 > 数据集成 > 离线同步。
       b. 新建数据同步节点后,您需要选择数据来源的数据源为kafka,数据去向的数据源为kafka,完成上述配置后,请单击下图框中的按钮,转换为脚本模式
       c. 完成脚本配置后,请首先切换任务资源组为您创建的独享资源组,然后单击运行。

1.25  确认数据导入    
       a. 完成运行后,您可以在运行日志中查看运行结果,如下为成功运行的日志。
       b. 查看EMR Kafka数据是否成功写入。

1.3 IDC MySQL -> MaxCompute

【MySQL读取】
https://help.aliyun.com/knowledge_detail/137725.html  
【MaxCompute写入】
https://help.aliyun.com/knowledge_detail/137466.html

1.31  环境准备

  • 大数据计算服务MaxCompute,详细文档请参见:MaxCompute
  • 数据工场DataWorks,详细文档请参见:DataWorks
  • 购买独享数据集成资源,使独享数据资源可以访问您IDC的数据源,详细文档请参见:独享资源模式

1.32  数据采集
本文通过开通数据网关资源,使用DMS来管理IDC的MySQL。通过数据集成-数据源-新增数据源MySQL JDBC Url连接。

1.33 在MaxCompute中创建数据表存放同步过来的数据。本实例建表:idc_my。

1.34  数据同步
配置MySQL数据同步节点
7

配置数据集成任务时,将默认资源组配置为需要的独享数据集成资源。
通过向导模式配置任务时,在通道控制 > 任务资源组下拉框中,选择相应的独享数据集成资源。
8

9

确认当前节点的配置无误后,单击左上角的保存。
关闭当前任务,返回业务流程配置面板。

1.35 运行业务流程
右键单击rds_数据同步节点,选择查看日志。
当日志中出现如下字样,表示同步节点运行成功,并成功同步数据。
10
然后在数据开发页面,单击左侧导航栏中的临时查询,进入临时查询面板,再确认数据是否已经导入MaxCompute中。

2 云上ECS自建 -> MaxCompute / EMR

【方案】:使用“独享数据集成资源组”,绑定可以自建数据源所在用户VPC,然后提工单,由阿里云数据集成开发人员在独享数据集成资源组上配置路由,使独享数据集成资源组可以访问ESC内数据源。

2.1 ECS Hadoop(HDFS / Hive)-> EMR

2.11  前提条件

  • 配置DataWorks独享数据集成资源组,详细文档请参见:独享资源模式
  • 创建好EMR集群。
  • 由于 VPC 实现用户专有网络之间的逻辑隔离,E-MapReduce 建议使用 VPC 网络。
  • 经典网络与 VPC 网络打通
    如果 ECS 自建 Hadoop,需要通过 ECS 的classiclink的方式将经典网络和 VPC 网络打通,参见建立 ClassicLink 连接
  • VPC 网络之间连通
    数据迁移一般需要较高的网络带宽连通,建议新旧集群尽量处在同一个区域的同一个可用区内。

本文以在华北2(北京)区域创建项目为例,同时启动Dataworks的相关服务。

2.12  数据准备
ECS集群测试数据准备
本例中HIVE建表语句如下:

CREATE TABLE IF NOT EXISTS test(
id INT,
name STRING,
hobby STRING,
region STRING
)
PARTITIONED BY(pt string)
row format delimited
fields terminated by ','
lines terminated by '\n'
;

插入测试数据:

insert into
test PARTITION(pt =1) values(1,'xiaoming','book','beijing'),(2,'lilei','TV','nanjing'),(3,'lihua','music','hebei'),(4,'xiaoma','draw','henan'),(5,'laoli','piano','heinan');

2.13 ECS自建Hadoop数据源连接
Dataworks数据集成-数据源管理-新增数据源-HDFS
11

使用“独享数据集成资源组”,绑定可以自建数据源所在用户VPC,然后提工单,由阿里云数据集成开发人员在独享数据集成资源组上配置路由,使独享数据集成资源组可以访问ESC内数据源。

EMR的Hadoop数据源连接
Dataworks数据集成-数据源管理-新增数据源-HDFS
12
13

2.14 在EMR的Hadoop上创建目录来存放ECS集群同步过来的数据

hadoop fs -mkdir /emr_test

2.15 在DataWorks中创建数据同步节点
配置数据同步节点并点击转换为脚本模式, 配置MaxCompute Reader 和 HDFS Writer 脚本可参考官方文档:配置HDFS Reader 和 配置HDFS Writer
本文档中配置如下:

{                                                           
    "type": "job",
    "steps": [
        {
            "stepType": "hdfs",
            "parameter": {
                "path": "/user/hive/warehouse/gitdatabase.db/test/",
                "datasource": "IDC_EMR",
                "column": [
                    "*"
                ],
                "encoding": "UTF-8",
                "fieldDelimiter": ",",
                "fileType": "text"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "hdfs",
            "parameter": {
                "path": "/emr_test/",
                "fileName": "emr_test",
                "datasource": "IDC_EMR",
                "column": [
                    {
                        "name": "id",
                        "type": "int"
                    },
                    {
                        "name": "name",
                        "type": "string"
                    },
                    {
                        "name": "hobby",
                        "type": "string"
                    },
                    {
                        "name": "region",
                        "type": "string"
                    },
                    {
                        "name": "col5",
                        "type": "date"
                    }
                ],
                "writeMode": "append",
                "encoding": "UTF-8",
                "fieldDelimiter": ",",
                "fileType": "text"
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 2,
            "throttle": true,
            "mbps": "10"
        }
    }
}

配置独享资源组:
14

2.16 脚本按需求配置并保存,运行节点:
15

查看EMR集群hdfs数据是否同步成功:hadoop fs -cat /emr_test/*
16

2.2 ECS MySQL -> MaxCompute

【MySQL读取】
https://help.aliyun.com/knowledge_detail/137725.html
【MaxCompute写入】
https://help.aliyun.com/knowledge_detail/137466.html

2.21 环境准备

  • 大数据计算服务MaxCompute,详细文档请参见:MaxCompute
  • 数据工场DataWorks,详细文档请参见:DataWorks
  • 购买独享数据集成资源,使Dataworks可以访问您的云资源,详细文档请参见:独享资源组模式
    本文以在华北2(北京)区域创建项目为例,同时启动Dataworks的相关服务。经典网络ECS上自建的数据源和DataWorks在同已区域为例。

2.22 数据采集
(1)以项目管理员身份登录DataWorks控制台,单击相应工作空间后的进入数据集成。
(2)单击左侧导航栏中的数据源,即可跳转至工作空间管理 > 数据源管理页面。
(3)单击数据源管理页面右上角的新增数据源。
(4)在新增数据源对话框中,选择数据源类型为MySQL。
(5)填写MySQL数据源的各配置项。 
MySQL数据源类型需要用连接串模式。
17
(6)单击测试连通性。
(7)连通性测试通过后,单击完成。

2.23 在MaxCompute中建立数据表,存放数据同步过来的数据。本次同步建表:test_tab。

2.24 新建数据同步任务
在DataWorks上新建数据同步节点,详情请参见数据同步节点。
18

19

配置数据集成任务时,将默认资源组配置为需要的独享数据集成资源。
20

完成上述配置后,单击运行即可。运行成功日志示例如下所示。
21

2.25  确认数据是否成功导入MaxCompute
22

3 云上DB  -> MaxCompute / EMR

【方案】直接创建云上DB数据源,然后向导模式配置同步任务即可

3.1 RDS / Mongo -> MaxCompute

【创建RDS数据源】:https://help.aliyun.com/knowledge_detail/137690.html
【创建MongoDB数据源】:https://help.aliyun.com/knowledge_detail/137675.html
【MaxCompute写入】
https://help.aliyun.com/knowledge_detail/137466.html

3.11  环境准备

  • 大数据计算服务MaxCompute,详细文档请参见:MaxCompute
  • 数据工场DataWorks,详细文档请参见:DataWorks
    3.12 数据采集

新增MySQL数据源
(6) 以项目管理员身份登录DataWorks控制台,单击相应工作空间后的进入数据集成。
(7) 单击左侧导航栏中的数据源,即可跳转至工作空间管理 > 数据源管理页面。
(8) 单击数据源管理页面右上角的新增数据源。
(9) 在新增数据源对话框中,选择数据源类型为MySQL。
(10) 填写MySQL数据源的各配置项。
MySQL数据源类型包括阿里云实例模式和连接串模式。
以新增MySQL > 阿里云实例模式类型的数据源为例。
23
24

(6)  单击测试连通性。
(7)  连通性测试通过后,单击完成。

新增MongoDB数据源
(1) 单击左侧导航栏中的数据源,即可跳转至工作空间管理 > 数据源管理页面。
(2) 单击数据源管理页面右上角的新增数据源。
(3) 在新增数据源对话框中,选择数据源类型为MongoDB。
(4) 填写MongoDB数据源的各配置项。

MongoDB数据源类型包括实例模式(阿里云数据源)和连接串模式。
实例模式(阿里云数据源):通常使用经典网络类型,同地区的经典网络可以连通,跨地区的经典网络不保证可以连通。
连接串模式:通常使用公网类型,可能产生一定的费用。
以新增MongDB > 实例模式(阿里云数据源)类型的数据源,经典网络为例。
25
26

(5) 单击测试连通性。
(6)测试连通性通过后,单击完成。

3.13 登录MongoDB的DMS控制台,本示例使用的数据库为admin,集合为abc。
27

3.14 新建表
(1)在数据开发页面打开新建的业务流程,右键单击MaxCompute,选择新建 > 表。
(2)在新建表对话框中,输入表名,单击提交。
此处需要创建2张表(msl_maxc和mon_maxc),分别存储同步过来的MySQL日志数据和MongoDB日志数据。

3.15 新建数据同步任务
在DataWorks上新建数据同步节点,详情请参见数据同步节点。
28

配置MySQL数据同步节点
29

配置MongoDB的数据同步节点。(不支持向导模式,此例为脚本模式)

  {
"type": "job",
"steps": [
{
"stepType": "mongodb",
"parameter": {
"datasource": "mon_maxc",
"column": [
{
"name": "store.bicycle.color",
"type": "document.string"
}
],
"collectionName": "abc"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
"tableType": null,
"partition": "",
"truncate": true,
"datasource": "odps_first",
"column": [
"*"
],
"guid": null,
"emptyAsNull": false,
"table": "mon_maxc"
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"concurrent": 2,
"throttle": false
}
}
}

3.15 完成上述配置后,单击运行即可。运行成功日志示例如下所示。
30

确认数据是否成功导入MaxCompute
31

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
1月前
|
存储 分布式计算 算法
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
大数据-106 Spark Graph X 计算学习 案例:1图的基本计算、2连通图算法、3寻找相同的用户
62 0
|
1月前
|
存储 数据采集 机器学习/深度学习
Star Tower Chain:以数据治理开启区块链智能时代
随着科技的进步,区块链步入智能时代,Star Tower Chain 以数据治理为核心,开启区块链新篇章。通过深度数据分析与挖掘,提供个性化推荐服务,并利用AI与机器学习提升数据质量与安全性,保障用户数据不被篡改。同时,智能升级的数据存储及查询系统提升了用户体验,Star Tower Chain 致力于持续深化数据治理,推动区块链智能时代的进一步发展,为用户提供更高效、安全的服务。
|
2月前
|
人工智能 自然语言处理 数据管理
Step By Step 体验10 分钟在公众号和企微中构建自己的AI客服
为提升用户体验与竞争力,企业纷纷构建AI助手实现7x24小时客户服务。在阿里云平台上,仅需十分钟即可完成AI助手的搭建并发布至微信公众号或企业微信。流程包括创建大模型应用、引入AI助手至微信平台、导入私有知识以增强功能,以及将助手集成至企业微信中。此方案操作简便,文档详尽,可快速打造专属AI助手。但现有方案在错误提示、知识库构建指导及部署流程简化方面仍有待改进。
|
5月前
|
机器学习/深度学习 人工智能 分布式计算
人工智能平台PAI产品使用合集之如何在odps上启动独立的任务
阿里云人工智能平台PAI是一个功能强大、易于使用的AI开发平台,旨在降低AI开发门槛,加速创新,助力企业和开发者高效构建、部署和管理人工智能应用。其中包含了一系列相互协同的产品与服务,共同构成一个完整的人工智能开发与应用生态系统。以下是对PAI产品使用合集的概述,涵盖数据处理、模型开发、训练加速、模型部署及管理等多个环节。
人工智能平台PAI产品使用合集之如何在odps上启动独立的任务
|
6月前
|
机器学习/深度学习 人工智能 算法
深度解密阿里巴巴PAI工作空间:协同创新,智慧计算的新引擎
深度解密阿里巴巴PAI工作空间:协同创新,智慧计算的新引擎 在人工智能领域,团队协作和资源管理是推动技术发展的关键因素。作为阿里巴巴公共AI平台的核心组成部分,PAI工作空间应运而生,为企业和团队提供统一的计算资源管理及人员权限管理能力,为AI开发者提供支持团队协作的全流程开发工具及AI资产管理能力。今天,就让我们一起来深度解密PAI工作空间,了解它是如何成为智慧计算的新引擎的。
174 2
|
11月前
|
数据采集 SQL 算法
大代码时代的基建:CodeFuse-Query代码大数据分析平台
在当前的静态分析领域,CodeFuse-Query 带来了一种新的范式。它不仅满足了大规模、复杂的代码库分析需求,还能适应不断变化和多元化的静态分析场景。CodeFuse-Query 的以数据为中心的方法,使得其在处理大数据环境中的代码分析问题时具有独特优势。CodeFuse-Query 的设计,旨在解决大规模软件开发环境中的静态分析问题。它能够将源代码和分析结果视作数据,使得其可以灵活地融入大型组织的各种系统中。这种方法不仅可以有效地处理大规模的代码库,还可以应对各种复杂的分析需求,从而使得静态分析工作变得更加高效和准确。
279 2
|
分布式计算 资源调度 Java
大数据Spark部署模式DeployMode
大数据Spark部署模式DeployMode
176 0
|
SQL 存储 分布式计算
从大数据到图计算-Graph On BigData
从大数据到图计算-Graph On BigData
从大数据到图计算-Graph On BigData
|
存储 数据可视化 安全
2022云栖精选—Graph + Insight 在关联数据中发现商业价值
摘要:本文整理自蚂蚁集团数据可视化方向负责人林志峰,在云栖大会“图计算及其应用”分论坛的分享。本篇内容主要分为四个部分: 1. 大势所趋 · 技术价值和趋势 2. 生机勃勃 · 应用场景和生态 3. 厚积薄发 · 这些年的工作与沉淀 4. 浅知拙见 · 落地探索和应用实践
471 27
2022云栖精选—Graph + Insight  在关联数据中发现商业价值
|
机器学习/深度学习 存储 数据采集
大数据智能平台的构建策略与步骤
大数据智能平台的构建策略与步骤
394 0
大数据智能平台的构建策略与步骤