实时计算Flink版体验评测

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 一文带你弄懂实时计算Flink版场景实践和核心功能体验

产品概述

阿里云实时计算Flink版(Alibaba Cloud Realtime Compute for Apache Flink,Powered by Ververica)是阿里云基于Apache Flink构建的企业级、高性能实时大数据处理系统。是一种全托管Serverless的Flink云服务,开箱即用,计费灵活。具备一站式开发运维管理平台,支持作业开发、数据调试、运行与监控、自动调优、智能诊断等全生命周期能力。100%兼容Apache Flink,支持开源Flink平滑迁移上云,核心企业级增强Flink引擎较开源Flink有约两倍性能的提升。提供端到端亚秒级实时数据分析能力,并通过标准SQL降低业务开发门槛,助力企业向实时化、智能化大数据计算升级转型。

image.png

相比开源Flink,阿里云实时计算Flink版具备如下优势:

  • 在成本上,基于Serverless的服务支持作业弹性扩缩容,只需增加计算节点无需修改硬件配置,提供弹性体验。
  • 在性能上,具备单核CPU每秒数十万条记录处理能力,可实现端到端亚秒级数据处理延迟,可支持数万并发超大规模实时任务计算。
  • 在稳定性上,服务分布式集群计算无单点,保障高可用。
  • 在功能上,提供数十种作业指标监控和一站式开发界面,支持SQL作业调试,支持作业运行期间智能调优。提供了丰富的数据实时入湖入仓和实时风控场景能力。
  • 在使用过程中,已有开源Flink任务可平滑迁移上云,无缝对接主流开源大数据生态,具备三十余种上下游连接器,极大节约企业的人力支出与资源投入成本。

产品开通

新用户可以点击链接前往领取0元免费试用 Flink,有(3000CU*小时,3 个月内)额度。

image.png

如果你是老用户,那就得老老实实进行按量付费购买了,点击链接即可前往控制台进行购买。

image.png

当然产品经理还是考虑到诸多老用户体验感受的,特地推出了优惠套餐,59元/3个月,对于需要短期体验的用户来说还是非常合适的。

image.png

由于实时计算Flink版采用的是存储计算分离架构,所以根据存储类型不同,有全托管和对象存储两种规格。这里为了体验方便,选择全托管。在购买页面选择付费模式为按量计费,地域和可用区根据实际情况选择,这里选华东1(杭州),工作空间名称自定义一个,存在重复会有提示,存储类型选择全托管(目前是免费公测,对于老用户来说是个小福利),勾选协议,点击确认订单即可。
image.png

在接下来的支付页面点击确认支付即可。

image.png

看到该界面就说明产品开通成功了,实例创建需要花费一点时间,完成后接下来就可以进行入门体验了。

入门体验

点击实例ID即可进入管理控制台,如下:

image.png

下面将使用内置的GitHub公开事件样例数据,快速体验实时计算Flink版产品的实时数据分析功能。

首先需要创建Session集群。

image.png

填上名称session-test,状态选择RUNNING,引擎版本选择第一个推荐的vvr-8.0.9-flink-1.17,Task Managers 数量配置为4。

image.png

完成参数配置,点击创建Session集群。稍等片刻,集群状态变成运行中。

image.png

接下来需要创建一个SQL作业,点击左侧导航栏的数据开发——ETL,单击新建。

image.png

选择新建空白的流作业草稿,点击下一步。

image.png

这里的参数可以保持默认,也可以自定义,按需选择即可。

image.png

将下面的SQL粘贴到作业开发的文本编辑区,用来统计当天各个仓库新增Star数Top 10。

-- 通过DDL语句创建SLS源表,SLS中存放了Github的实时数据。
CREATE TEMPORARY TABLE gh_event(
  id STRING,                                        -- 每个事件的唯一ID。
  created_at BIGINT,                                -- 事件时间,单位秒。
  created_at_ts as TO_TIMESTAMP(created_at*1000),   -- 事件时间戳(当前会话时区下的时间戳,如:Asia/Shanghai)。
  type STRING,                                      -- Github事件类型,如:。ForkEvent, WatchEvent, IssuesEvent, CommitCommentEvent等。
  actor_id STRING,                                  -- Github用户ID。
  actor_login STRING,                               -- Github用户名。
  repo_id STRING,                                   -- Github仓库ID。
  repo_name STRING,                                 -- Github仓库名,如:apache/flink, apache/spark, alibaba/fastjson等。
  org STRING,                                       -- Github组织ID。
  org_login STRING                                  -- Github组织名,如: apache,google,alibaba等。
) WITH (
  'connector' = 'sls',                              -- 实时采集的Github事件存放在阿里云SLS中。
  'project' = 'github-events-hangzhou',             -- 存放公开数据的SLS项目。本示例以杭州为例,您需要修改为您的实际地域信息。
  'endPoint' = 'https://cn-hangzhou-intranet.log.aliyuncs.com', -- 公开数据仅限VVP通过私网地址访问。本示例以杭州为例,您需要修改为您的实际地域信息。
  'logStore' = 'realtime-github-events',            -- 存放公开数据的SLS logStore。
  'accessId' =  'xxxx',         -- 只读账号的AK,无需修改。
  'accessKey' = 'FDgsh6fjSmkbFsx083tN6HOiqNVWTP',   -- 只读账号的SK,无需修改。
  'batchGetSize' = '500'                            -- 批量读取数据,每批最多拉取500条。
);

-- 配置开启mini-batch, 每2s处理一次。
SET 'table.exec.mini-batch.enabled'='true'; 
SET 'table.exec.mini-batch.allow-latency'='2s'; 
SET 'table.exec.mini-batch.size'='4096'; 

-- 作业设置4个并发,聚合更快。
SET 'parallelism.default' = '4';

-- 查看当天Github新增star数Top 10仓库。
SELECT DATE_FORMAT(created_at_ts, 'yyyy-MM-dd') as `date`, repo_name, COUNT(*) as num
FROM gh_event
WHERE type = 'WatchEvent' AND DATE_FORMAT(created_at_ts, 'yyyy-MM-dd') = DATE_FORMAT(NOW(), 'yyyy-MM-dd')
GROUP BY DATE_FORMAT(created_at_ts, 'yyyy-MM-dd'), repo_name
ORDER BY num DESC
LIMIT 10;

单击作业区页面右上角的调试,并选择上述创建的Session集群,点击确认。

image.png

调试完成后即可在结果栏看到统计效果。

image.png

在作业开发文本编辑区粘贴如下SQL,可以统计过去一周里Github小时级别的评论热力图

-- 通过DDL语句创建SLS源表,SLS中存放了Github的实时数据。
CREATE TEMPORARY TABLE gh_event(
  id STRING,                                        -- 每个事件的唯一ID。
  created_at BIGINT,                                -- 事件时间,单位秒。
  created_at_ts as TO_TIMESTAMP(created_at*1000),   -- 事件时间戳(当前会话时区下的时间戳,如:Asia/Shanghai)。
  type STRING,                                      -- Github事件类型,如:ForkEvent, WatchEvent, IssuesEvent, CommitCommentEvent等。
  actor_id STRING,                                  -- Github用户ID。
  actor_login STRING,                               -- Github用户名。
  repo_id STRING,                                   -- Github仓库ID。
  repo_name STRING,                                 -- Github仓库名,如:apache/flink, apache/spark, alibaba/fastjson等。
  org STRING,                                       -- Github组织ID。
  org_login STRING                                  -- Github组织名,如: apache,google,alibaba等。
) WITH (
  'connector' = 'sls',                              -- 实时采集的Github事件存放在阿里云SLS中。
  'project' ='github-events-hangzhou',              -- 存放公开数据的SLS项目。本示例以杭州为例,您需要修改为您的实际地域信息。
  'endPoint' = 'https://cn-hangzhou-intranet.log.aliyuncs.com', -- 公开数据仅限VVP通过私网地址访问。本示例以杭州为例,您需要修改为您的实际地域信息。
  'logStore' = 'realtime-github-events',            -- 存放公开数据的SLS logStore。
  'accessId' =  'xxxx',         -- 只读账号的AK,无需修改。
  'accessKey' = 'FDgsh6fjSmkbFsx083tN6HOiqNVWTP',   -- 只读账号的SK,无需修改。
  'batchGetSize' = '500',                           -- 批量读取数据,每批最多拉取500条。
  'startTime' = '2024-09-24 00:00:00'               -- 开始时间,尽量设置到需要计算的时间附近,否则无效计算的时间较长。默认值为当前值。
);

-- 配置开启mini-batch, 每2s处理一次。
SET 'table.exec.mini-batch.enabled'='true'; 
SET 'table.exec.mini-batch.allow-latency'='2s'; 
SET 'table.exec.mini-batch.size'='4096'; 

-- 作业设置4个并发,聚合更快。
SET 'parallelism.default' = '4'; 

-- 实时统计过去一周里Github小时级别的评论热力图。
SELECT  DATE_FORMAT(created_at_ts, 'yyyy-MM-dd') as comment_date, HOUR(created_at_ts) AS comment_hour ,COUNT(*) AS comment_count
FROM gh_event
WHERE created_at_ts >= NOW() - INTERVAL '7' DAY AND (type='CommitCommentEvent'
    OR type='IssueCommentEvent' or type = 'PullRequestReviewCommentEvent')
GROUP BY DATE_FORMAT(created_at_ts, 'yyyy-MM-dd'), HOUR(created_at_ts) ;

单击作业区页面右上角的调试,并选择上述创建的Session集群,点击确认。呈现的热力图如下:

image.png

这里需要注意的是:因为这是一个流式作业,作业会持续运行,结果会持续更新。体验完成之后,需要及时单击停止按钮,否则会继续消耗计算资源。

体验到这是不是意犹未尽,这里为了避免文章冗长就不再演示其他入门实验了,感兴趣的小伙伴可以点击链接参照官网文档进行自行体验。

image.png

对比分析

目前市面上可以看到并且具有广泛应用案例的实时计算产品有百度的流式计算(Baidu Stream Computing,简称BSC)、腾讯的流计算Oceanus、火山引擎的流计算Flink版、亚马逊的AWS Kinesis Data Analytics for Apache Flink、谷歌的Google Cloud Dataflow with Apache Flink、以及微软的Azure Stream Analytics with Apache Flink Compatibility。他们之间的共同点可以简要归纳如下:

  • 基于Apache Flink构建,利用了Flink的高性能、分布式、实时计算等特性
  • 提供了云托管服务,用户无需自行搭建和维护计算集群,降低了运维成本和技术门槛
  • 支持实时数据处理,能够处理大规模的数据流,并提供高效的数据分析和实时决策支持
  • 支持多种数据源接入和多种数据输出方式,满足用户不同的数据处理需求
  • 提供了全链路监控和运维工具,帮助用户更好地管理和优化计算任务

它们之间的差异除了主观的使用体验和文档支持存在差异外,其他对比项以表格罗列如下:

实时计算Flink版(阿里云) 流式计算BSC(百度) 流计算Oceanus(腾讯) 火山引擎流式计算Flink版 AWS Kinesis Data Analytics for Apache Flink Google Cloud Dataflow with Apache Flink Azure Stream Analytics with Apache Flink Compatibility
服务商 阿里云 百度 腾讯云 火山引擎(字节跳动) AWS Google Cloud Microsoft Azure
基于技术 Apache Flink 完全兼容Flink引擎 Apache Flink Apache Flink Apache Flink Apache Beam(支持Flink Runner) Apache Flink
部署方式 云托管 云托管 云托管 公有云/混合云/多云 AWS托管 Google Cloud托管 Azure托管
开发环境 Web IDE、SDKs BSC API Web IDE、SDKs Web IDE、SDKs AWS Management Console Google Cloud Console Azure Portal
数据接入 多种数据源支持 百度消息系统(BMS)、物接入IOT Hub、云数据库RDS、对象存储BOS 多种数据源支持 火山引擎项目数据 Kinesis Streams等 Pub/Sub、BigQuery等 Event Hubs、IoT Hub等
数据处理 SQL、Table API、UDF SQL、BSC API SQL、Table API、UDF SQL、Table API、UDF SQL、Flink API Apache Beam Pipeline SQL、Flink API
数据输出 多种数据目标支持 百度消息系统(BMS)、云数据库RDS、对象存储BOS、百度ElasticSearch、时序数据库TSDB 多种数据目标支持 多种数据目标支持 Amazon S3、Kinesis Firehose等 Google Cloud Storage、BigQuery等 Blob Storage、SQL Database等
监控与运维 全链路监控、智能调优 集群安防措施、权限管理策略 全链路监控、智能调优 火山云监控服务 AWS CloudWatch Google Cloud Monitoring Azure Monitor
安全性 阿里云安全体系 百度安全体系 腾讯云安全体系 字节跳动安全体系 AWS安全体系 Google Cloud安全体系 Azure安全体系
成本模型 按需付费(CPU/内存使用量) 按需付费(CPU/内存使用量) 按需付费(资源使用量) 实时使用量 AWS定价模型 Google Cloud定价模型 Azure定价模型
典型应用场景 实时数据分析、监控告警 实时数据分析、物联网IoT 实时数据分析、业务监控 实时ETL、实时数仓 实时数据流分析 实时数据流处理、ETL 实时数据流分析、IoT数据处理
社区与支持 阿里云支持、Flink社区 百度支持 腾讯云支持、Flink社区 火山引擎支持、Flink社区 AWS支持、Flink社区 Google Cloud支持、Beam社区 Azure支持、Flink社区

基于表格可以将各个产品间的不同点归纳如下:

  • 产品都由不同的云服务提供商提供,都有自己的生态系统和服务体系,用户可以根据自己的需求和偏好选择相应的产品
  • 产品在功能和特性上都有所不同。例如,阿里云实时计算Flink版提供了端到端亚秒级实时数据分析能力,并通过标准SQL降低业务开发门槛;腾讯云流计算Oceanus提供了丰富的数据处理和分析能力,并支持多种数据处理方式和算法;AWS Kinesis Data Analytics for Apache Flink则降低了构建和管理Apache Flink应用程序的复杂性
  • 各个产品的定价和成本模型可能有所不同
  • 虽然都支持Apache Flink社区,但每个产品的官方支持和用户社区可能有所不同

体验总结

首先提出一个体验过程中发现的问题,或者说是错误。在产品首页的产品规格中,有一个59元/3月的优惠产品,本以为是针对老用户的一个福利,没想到点击购买却出现了不一样的情况。

image.png

明明标注的是容量规格是3000CUH,跳转后却成了5000CUH,也就是说出现了产品规格不一致的情况,也就直接导致了无法优惠购买。

下面逐条逐项进行体验总结

(1)在体验实时计算Flink版产品的过程中,我总体上得到了较为全面的产品内引导和文档帮助。产品界面设计清晰,关键功能点都有相应的说明和指引,这对于初次接触的用户来说非常友好。此外,官方文档也相当详尽,从安装部署到功能使用,再到高级配置,都提供了详细的步骤和示例。

然而,在深入探索某些高级功能时,我发现文档和产品内引导略显不足。例如,在进行复杂的数据处理任务时,关于如何优化Flink作业性能、如何调整并行度等高级参数的文档相对较少,且部分参数的解释不够详细,容易让新手用户感到困惑。此外,虽然产品内提供了部分示例代码,但针对特定业务场景的完整案例相对较少,这在一定程度上限制了用户的快速上手和实际应用。

因此,我认为在以下方面还可以进一步加强:

  • 增加针对高级功能的详细文档和指引,特别是关于性能优化和参数调整的部分。
  • 提供更多针对特定业务场景的完整案例和示例代码,帮助用户更好地理解和应用Flink。
  • 在产品内增加更多互动式的引导和学习资源,如在线教程、视频讲解等,以提升用户体验和学习效率。

(2)从功能层面来看,实时计算Flink版产品基本满足了我的预期。在数据开发方面,该产品提供了丰富的API和算子库,支持复杂的数据处理逻辑;同时,它还支持多种数据源和数据格式的接入,使得数据开发过程更加灵活和高效。在运维方面,该产品提供了完善的监控和报警功能,能够实时监控作业的运行状态和性能指标,及时发现问题并进行处理。

此外,该产品还支持多种部署方式,如单机部署、集群部署等,能够满足不同规模的业务需求。同时,它还提供了丰富的安全功能,如数据加密、访问控制等,确保数据的安全性和隐私性。

然而,在部分细节方面,我认为还有改进的空间。例如,在作业调度和资源管理方面,该产品目前还缺乏一些高级功能,如动态调整作业资源、作业优先级管理等。这些功能的缺失可能会在一定程度上影响作业的性能和稳定性。

(3)针对我所体验的业务场景,我认为实时计算Flink版产品还可以在以下方面进行改进或增加更多功能:

  • 增强实时数据分析能力:目前该产品主要侧重于实时数据处理和流计算,但在实时数据分析方面还有所欠缺。可以考虑增加一些实时数据分析工具和算法库,以便用户能够更方便地进行实时数据分析和挖掘。
  • 优化作业部署和升级流程:在作业部署和升级方面,目前该产品还需要用户手动进行一系列操作,这在一定程度上增加了运维成本。可以考虑引入自动化部署和升级工具或流程,降低运维难度和成本。
  • 增加更多数据源支持:虽然该产品已经支持了多种数据源和数据格式的接入,但随着业务的发展和新数据源的出现,可能需要不断增加对新数据源的支持。因此,建议持续关注和更新数据源支持列表,以满足用户的多样化需求。

(4)作为大数据流式处理的一款产品,我觉得它与其他产品联动的类型会有很多,比如:

  • 与大数据平台结合:可以将实时计算Flink版产品与Hadoop、Spark等大数据平台结合使用,实现离线数据分析和实时数据处理的有机结合。例如,可以利用Hadoop进行大规模数据存储和预处理,然后利用Flink进行实时数据分析和处理。
  • 与数据库结合:可以将实时计算Flink版产品与关系型数据库(如MySQL、PostgreSQL)或非关系型数据库(如MongoDB、Cassandra)结合使用,实现数据的实时入库和查询。这有助于提升数据处理的实时性和准确性。
  • 与机器学习平台结合:可以将实时计算Flink版产品与机器学习平台(如TensorFlow、PyTorch)结合使用,实现实时数据分析和预测。例如,可以利用Flink进行实时数据预处理和特征提取,然后利用机器学习模型进行实时预测和决策。
  • 与消息队列结合:可以将实时计算Flink版产品与Kafka、RabbitMQ等消息队列结合使用,实现数据的实时传输和处理。这有助于提升数据处理的实时性和可靠性,特别是在分布式系统中。

如果你阅读到这感觉还是意犹未尽,下面提供的视频课程和在线实验也许可以帮到你。如下:

  • 视频课程

Apache Flink 入门

实时计算 Flink 版产品入门与实操

实时计算 Flink 实战

  • 云起实验室

基于Hologres+PAI+计算巢,5分钟搭建企业级AI问答知识库

基于Hologres+Flink搭建GitHub实时数据大屏

基于Flink+Tair搭建实时监控大屏

使用Flink实时发现最热Github项目

5分钟上手Flink MySQL连接器

目录
相关文章
|
8天前
|
存储 人工智能 弹性计算
阿里云弹性计算_加速计算专场精华概览 | 2024云栖大会回顾
2024年9月19-21日,2024云栖大会在杭州云栖小镇举行,阿里云智能集团资深技术专家、异构计算产品技术负责人王超等多位产品、技术专家,共同带来了题为《AI Infra的前沿技术与应用实践》的专场session。本次专场重点介绍了阿里云AI Infra 产品架构与技术能力,及用户如何使用阿里云灵骏产品进行AI大模型开发、训练和应用。围绕当下大模型训练和推理的技术难点,专家们分享了如何在阿里云上实现稳定、高效、经济的大模型训练,并通过多个客户案例展示了云上大模型训练的显著优势。
|
12天前
|
存储 人工智能 调度
阿里云吴结生:高性能计算持续创新,响应数据+AI时代的多元化负载需求
在数字化转型的大潮中,每家公司都在积极探索如何利用数据驱动业务增长,而AI技术的快速发展更是加速了这一进程。
|
3天前
|
并行计算 前端开发 物联网
全网首发!真·从0到1!万字长文带你入门Qwen2.5-Coder——介绍、体验、本地部署及简单微调
2024年11月12日,阿里云通义大模型团队正式开源通义千问代码模型全系列,包括6款Qwen2.5-Coder模型,每个规模包含Base和Instruct两个版本。其中32B尺寸的旗舰代码模型在多项基准评测中取得开源最佳成绩,成为全球最强开源代码模型,多项关键能力超越GPT-4o。Qwen2.5-Coder具备强大、多样和实用等优点,通过持续训练,结合源代码、文本代码混合数据及合成数据,显著提升了代码生成、推理和修复等核心任务的性能。此外,该模型还支持多种编程语言,并在人类偏好对齐方面表现出色。本文为周周的奇妙编程原创,阿里云社区首发,未经同意不得转载。
|
8天前
|
人工智能 运维 双11
2024阿里云双十一云资源购买指南(纯客观,无广)
2024年双十一,阿里云推出多项重磅优惠,特别针对新迁入云的企业和初创公司提供丰厚补贴。其中,36元一年的轻量应用服务器、1.95元/小时的16核60GB A10卡以及1元购域名等产品尤为值得关注。这些产品不仅价格亲民,还提供了丰富的功能和服务,非常适合个人开发者、学生及中小企业快速上手和部署应用。
|
19天前
|
自然语言处理 数据可视化 前端开发
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
合合信息的智能文档处理“百宝箱”涵盖文档解析、向量化模型、测评工具等,解决了复杂文档解析、大模型问答幻觉、文档解析效果评估、知识库搭建、多语言文档翻译等问题。通过可视化解析工具 TextIn ParseX、向量化模型 acge-embedding 和文档解析测评工具 markdown_tester,百宝箱提升了文档处理的效率和精确度,适用于多种文档格式和语言环境,助力企业实现高效的信息管理和业务支持。
3940 3
从数据提取到管理:合合信息的智能文档处理全方位解析【合合信息智能文档处理百宝箱】
|
8天前
|
算法 安全 网络安全
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
2024阿里云11.11金秋云创季活动火热进行中,活动月期间(2024年11月01日至11月30日)通过折扣、叠加优惠券等多种方式,阿里云WoSign SSL证书实现优惠价格新低,DV SSL证书220元/年起,助力中小企业轻松实现HTTPS加密,保障数据传输安全。
520 3
阿里云SSL证书双11精选,WoSign SSL国产证书优惠
|
14天前
|
安全 数据建模 网络安全
2024阿里云双11,WoSign SSL证书优惠券使用攻略
2024阿里云“11.11金秋云创季”活动主会场,阿里云用户通过完成个人或企业实名认证,可以领取不同额度的满减优惠券,叠加折扣优惠。用户购买WoSign SSL证书,如何叠加才能更加优惠呢?
991 3
|
7天前
|
数据采集 人工智能 API
Qwen2.5-Coder深夜开源炸场,Prompt编程的时代来了!
通义千问团队开源「强大」、「多样」、「实用」的 Qwen2.5-Coder 全系列,致力于持续推动 Open Code LLMs 的发展。
|
12天前
|
机器学习/深度学习 存储 人工智能
白话文讲解大模型| Attention is all you need
本文档旨在详细阐述当前主流的大模型技术架构如Transformer架构。我们将从技术概述、架构介绍到具体模型实现等多个角度进行讲解。通过本文档,我们期望为读者提供一个全面的理解,帮助大家掌握大模型的工作原理,增强与客户沟通的技术基础。本文档适合对大模型感兴趣的人员阅读。
444 18
白话文讲解大模型| Attention is all you need
|
13天前
|
存储 分布式计算 流计算
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎
本文介绍了阿里云开源大数据团队在实时计算领域的最新成果——向量化流计算引擎Flash。文章主要内容包括:Apache Flink 成为业界流计算标准、Flash 核心技术解读、性能测试数据以及在阿里巴巴集团的落地效果。Flash 是一款完全兼容 Apache Flink 的新一代流计算引擎,通过向量化技术和 C++ 实现,大幅提升了性能和成本效益。
660 10
实时计算 Flash – 兼容 Flink 的新一代向量化流计算引擎