一小时完成基于阿里云流计算的实时计算系统搭建

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
实时计算 Flink 版,5000CU*H 3个月
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
简介: 目前,实时计算越来越被广泛应用,比如 实时ETL、实时报表、实时大屏展示等一些监控预警和在线系统的场景。企业对计算速度和消息更新速度要求越来越高。开源框架中,Storm,Sparks,Flink等在企业生产中大量投入使用,但是开发相对复杂,需要对接各种框架api、sdk等,另外人力成本相对较高。

目前,实时计算越来越被广泛应用,比如 实时ETL、实时报表、实时大屏展示等一些监控预警和在线系统的场景。企业对计算速度和消息更新速度要求越来越高。开源框架中,Storm,Sparks,Flink等在企业生产中大量投入使用,但是开发相对复杂,需要对接各种框架api、sdk等,另外人力成本相对较高。那么有没有一种高效的实时计算平台,只要会写SQL并且可视化的操作就可以快速完成实时计算的业务开发呢

阿里云目前推出产品 阿里云流计算(公测中,预计18年3月份商业化)(StreamCompute)传送门:https://help.aliyun.com/document_detail/62437.html?spm=a2c4g.11186623.6.544.Ed7XzG

阿里云流计算全链路示意图
image.png
可以简单快速的实现仅用SQL就完成流计算的业务链路,下面我们就使用流计算给大家示范。

架构:

以阿里云流计算为核心,从数据流向上我们可以分为数据从哪里,到哪里去。
本次实验架构为:
Logstash+DataHub+阿里云流计算+RDS-mysql
其中,
Logstash :开源框架,用于采集数据
DataHub:阿里云自主研发大型缓存队列(可以理解为类似 开源Kafka )
https://help.aliyun.com/document_detail/47439.html?spm=a2c4g.11186623.6.539.hri7Gy
RDS-mysql:阿里云关系型数据库 mysql版

搭建流程:

第一步:创建DataHub 项目和Topic

具体参考
https://help.aliyun.com/document_detail/47448.html?spm=a2c4g.11186623.6.546.eJLHOm
如图是本次实验创建的:
image.png

第二步:搭建Logstash 参考

https://help.aliyun.com/document_detail/47451.html?spm=5176.product27797.6.588.iFTE4i
配置文件如下

input {
    file {
        path => "/Users/yang/test/stream.csv"
        start_position => "beginning"
    }
}
filter{
    csv {
        columns => ['name', 'age']
    }
}
output {
    datahub {
        access_id => "LTAIu****Ouj87b"
        access_key => "MfY8ONjK6******7OEdyXw4T"
        endpoint => "https://dh-cn-hangzhou.aliyuncs.com"
        project_name => "M_shangdantest"
        topic_name => "to_stream_topic"
        #shard_id => "0"
        #shard_keys => ["thread_id"]
        dirty_data_continue => true
        dirty_data_file => "/Users/yang/test/dirty.data"
        dirty_data_file_max_size => 1000
    }
}
第三步:创建流计算任务

1,可视化注册刚才创建的DataHub数据源,接入数据。如图
image.png
2,可视化注册数据输出的数据库RDS-mysql
image.png
3,编写从数据来源(DataHub)取数据经过计算写入数据目的源(RDS-mysql)的业务SQL。
如图
image.png
代码附上,具体业务逻辑可以自己通过SQL实现:

CREATE TABLE to_stream_topic (
    `name`             VARCHAR,
    age                BIGINT
) WITH (
    type = 'datahub',
    endPoint = 'http://dh-cn-hangzhou.aliyun-inc.com',
    roleArn='acs:ram::xxxxx:role/aliyunstreamdefaultrole',
    project = 'shangdantest',
    topic = 'to_stream_topic'
);
INSERT INTO resoult_stream
SELECT name,age from to_stream_topic;
CREATE TABLE resoult_stream (
    `name`             VARCHAR,
    age                BIGINT
) WITH (
    type= 'rds',
    url = 'jdbc:mysql://rm-xxxxxxx.mysql.rds.aliyuncs.com:3306/lptest',
    userName = 'xxxxx',
    password = 'xxxx',
    tableName = 'resoult_stream'
);

更多操作其他数据源参考:
https://help.aliyun.com/document_detail/62509.html?spm=a2c4g.11186623.6.633.DPannE

以上操作完成后可以
1,启动logstash
2,测试流计算,调试非常方便,对线上业务没有影响,自动从DataHub中抽取数据进行测试
image.png
3,启动流计算作业,如图
image.png
4,观察数据是否成功写入RDS-Mysql

到此 流计算一个实时链路搭建完毕,有没有发现很酷炫,只需要写写SQL,加一些数据源的配置即可。整个过程一小时就可以完成,相对开源省去了繁琐的各种环境搭建,代码编写,监控等等。

  
  
  有对大数据技术感兴趣的,可以加笔者的微信 wx4085116.目前笔者已经从阿里离职,博客不代表阿里立场。笔者开了一个大数据培训班。有兴趣的加我。
相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
目录
相关文章
|
6月前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
111518 154
阿里云实时计算Flink的产品化思考与实践【下】
|
4月前
|
存储 监控 大数据
阿里云实时计算Flink在多行业的应用和实践
本文整理自 Flink Forward Asia 2023 中闭门会的分享。主要分享实时计算在各行业的应用实践,对回归实时计算的重点场景进行介绍以及企业如何使用实时计算技术,并且提供一些在技术架构上的参考建议。
803 7
阿里云实时计算Flink在多行业的应用和实践
|
3月前
|
消息中间件 监控 数据挖掘
基于RabbitMQ与Apache Flink构建实时分析系统
【8月更文第28天】本文将介绍如何利用RabbitMQ作为数据源,结合Apache Flink进行实时数据分析。我们将构建一个简单的实时分析系统,该系统能够接收来自不同来源的数据,对数据进行实时处理,并将结果输出到另一个队列或存储系统中。
182 2
|
23天前
|
消息中间件 Java Kafka
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
Flink-04 Flink Java 3分钟上手 FlinkKafkaConsumer消费Kafka数据 进行计算SingleOutputStreamOperatorDataStreamSource
33 1
|
4月前
|
数据采集 运维 Cloud Native
Flink+Paimon在阿里云大数据云原生运维数仓的实践
构建实时云原生运维数仓以提升大数据集群的运维能力,采用 Flink+Paimon 方案,解决资源审计、拓扑及趋势分析需求。
18499 54
Flink+Paimon在阿里云大数据云原生运维数仓的实践
|
3月前
|
消息中间件 存储 算法
联通实时计算平台问题之亿级标签关联实现且不依赖外部系统要如何操作
联通实时计算平台问题之亿级标签关联实现且不依赖外部系统要如何操作
|
3月前
|
存储 运维 Cloud Native
"Flink+Paimon:阿里云大数据云原生运维数仓的创新实践,引领实时数据处理新纪元"
【8月更文挑战第2天】Flink+Paimon在阿里云大数据云原生运维数仓的实践
267 3
|
4月前
|
消息中间件 Kafka 数据处理
Kafka与Flink:构建高性能实时数据处理系统的实践指南
Apache Kafka 和 Apache Flink 的结合为构建高性能的实时数据处理系统提供了坚实的基础。通过合理的架构设计和参数配置,可以实现低延迟、高吞吐量的数据流处理。无论是在电商、金融、物流还是其他行业,这种组合都能为企业带来巨大的价值。
|
4月前
|
SQL 网络安全 API
实时计算 Flink版产品使用问题之使用ProcessTime进行窗口计算,并且有4台机器的时间提前了2个小时,会导致什么情况
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
4月前
|
消息中间件 SQL Kafka
实时计算 Flink版产品使用问题之如何实现两个阿里云账号下的Kafka进行数据的互相传输
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。