今年华为全联接大会的主题是 AI,AI 覆盖范围非常广泛,其中实时 AI 即在线机器学习 StreamingML,是近两年比较前沿的领域。其特征为:秒级更新模型,在预测/推理的同时训练模型。StreamingML 能极大提升 AI 模型的适应性,快速贴合实际业务场景,作出最及时恰当的决策,能够创造巨大的经济效益。
华为云实时流计算服务(以下简称 CS 服务)率先推出 StreamingML。
提供:
StreamSQL+StreamingML+StreamVisualization 三合一产品,极大方便用户使用在线机器学习算法。
SQL 是通用语言,广泛用于大数据 AI 领域,StreamSQL 是适用于实时流计算场景的 SQL;StreamingML 是常用机器学习算法实时化,提供回归、分类、异常检测、特征工程等 StreamingML 算法;StreamVisualization 实时可视化,适用于所有实时流计算场景,作业或 StreamingML 实时推送输出结果到 ApiGateway,实时可视化模块接收流数据,实时绘图。这样,从数据摄入,到流数据的实时计算,到结果实时输出和可视化,端到端实现完全实时。
StreamingML 可以应用到哪里?
以流式随机森林为例,可以用在实时检测异常数据,如车辆行驶过程中,自动检测异常驾驶行为(急刹车/猛踩油门/突然转向等),发动机异常检测可以实时预知故障,提前检修,即预测性维护。
同时 StreamingML 还广泛用于智慧城市和车联网智能体。
StreamVisualization 实时可视化如下图所示。
StreamingML 如何使用?
CS 服务提供简单易用的 console,让 StreamingML 用起来极为简单。
例如,无监督的流式随机森林:**SELECT a, SRF_UNSUP(ARRAY[c]) OVER (ORDER BY proctime RANGE BETWEEN INTERVAL ‘3’ SECOND PRECEDING AND CURRENT ROW) AS sumC FROM MyTable。其中 SRF_UNSUP(ARRAY[c]**就是无监督的流式随机森林表示方法。
流计算服务的四大高级特性
除 StreamingML 之外,CS 服务还提供 4 大高级功能,满足客户多种多样的实时计算场景。
实时时间地理分析
经度、纬度、时间三元组组成了一条事件消息,包含这个三元组的事件流被发送到云上的 DIS 服务(Kafka)中,CS 启动一个作业就可以实时分析这些位置信息。CS 服务提供了 20+基础的函数。可以计算实时的平均速度、两点之间的实时曲面距离、由坐标组成的几何多边形的面积、多个几何多边形相交面积、坐标点组成的最小矩形等等。
基于这些基础时间地理函数,可以开发出:电子围栏、偏航检测、超速检测、危险驾驶行为分析、平均车速等高大上特性,用于车联网、物联网、智慧城市等常见场景。
流式 CEP SQL
复杂事件处理(Complex Event Process,简称 CEP)用来检测无尽数据流中的复杂模式,拥有从不同的数据行中辨识查找模式的能力。模式匹配是复杂事件处理的一个强大援助。
可用于受一系列事件驱动的业务流程,如在安全应用中侦测异常行为;在金融应用中查找价格、交易量和其他行为的模式,实时反欺诈检测(账号风控和交易风控),传感器数据的分析等。
CEP SQL 使用简单:
sql INSERT INTO inhibition SELECT * FROM event MATCH_RECOGNIZE ( MEASURES FIRST(B.event_name) as Bname ONE ROW PER MATCH AFTER MATCH SKIP PAST LAST ROW PATTERN (B+?) DEFINE B AS B.event_name <> PREV(B.event_name) or PREV(B.event_name) is null ) MR;
该语句表示一检测到与之前不一样的事件即进行输出,如果与之前一样则不再进行输出。
StreamSQL
StreamSQL 是在 Apache Flink SQL 基础之上做了诸多增强,满足复杂业务场景。当前 Stream SQL 支持 SELECT,FROM,WHERE,UNION,聚合和基于流表连接的 JOIN 语法,也支持 UDF 和 UDAF。
在 StreamSQL 编辑器中可以完成所有的业务逻辑,无需编程,简单快捷。
Job as a Service
JaaS(Job as a Service)是行业首创的一种使用模式,即把运行中的流作业包装成一个独立 SaaS 服务,提供 Open API,目前 JaaS 支持所有的 Flink 作业。JaaS 可以提供:
1.实时绘图,如上面提到的 StreamVisualization 实时可视化所示。
2.同时输出流数据可以写入到 OBS/CloudTable-HBase/DIS-Kafka/DMS-Kafka/MRS 等存储服务中。
3.提供 Open API,用户线下可以订阅 API,实时推送数据到线下系统。
在很多线下场景,如 IoT、工业 IoT、车联网、智慧城市等,需要实时处理流数据,计算的输出流推送到线下监控大盘或 dashboard,有了 JaaS 用户可以把线上的可视化 h5 页面和 js 文件下载到本地执行,集成到现有的系统中,无缝融合。
基本能力
为了支撑上述高大上能力,实时流计算提供了如下基础能力:独享集群、按需计费和包周期、完整生态。
独享集群
独享集群是 CS 在行业中首创的模式,全托管分布式集群,按需付费,自动弹性伸缩。支持 Flink 和 Spark 作业。
为何要创造这种集群模式?华为云是一个完全中立的云平台,在特定行业中,很多用户互为竞争对手,这样就很难避免有些用户写一些 UDF 程序突破沙箱,攻击其他用户,获取竞争对手的数据或破坏其业务流程。为了避免这类可能性不大的血案发生,我们提出了独享集群,用户只需要额外付出 6 个 SPU 用户启动有 HA 能力的 3 个 master 节点,就能独享这个分布式集群。独享集群是物理隔离(网络隔离、磁盘隔离、CPU/内存隔离、用户隔离),最大程度保证企业用户安全。
同时,企业账号可以对部门内的子账号进行资源配额限制,避免某些开发人员无限制使用资源。
目前独享集群也是广大 CS 企业用户的首选。
按需计费和包周期
计费是大家比较关心的事情,CS 中所有资源都按照同一个计费单位:SPU(Stream Processing Units)流处理单元,1 个 SPU 为 1 核 4G 的资源量,每 1 SPU 每小时 0.5 元。包周期打 9 折。
包周期资源:用户可以提前买 SPU 资源,在实际运行作业时从这个 SPU 资源池中扣费。
完整生态,Flink 和 Spark
CS 服务是一个流批合一的实时计算引擎,不做数据暂存和存储,所以输入流和输出流就强依赖其他服务和大数据框架。目前 CS 支持 DIS/DMS/MRS/CloudTable/DCS 等十几个华为云存储服务,同时也支持用户自己搭建的存储集群,如 kafka/HDFS/HBase 等集群。CS 最大程度满足用户数据接入和数据输出的需求。
总之,CS 服务是一个流批统一的一站式流计算平台,提供实时 AI StreamingML、时间地理分析、复杂事件处理 CEP、Job as a Service、流数据可视化等能力。
展望
展望,基于行业需求和 AI First,我们认为未来流计算发展方向如下:
StreamingML
StreamingDL
StreamingRL
StreamingGraph
Streaming Storage
Streaming Time Series
Streaming Time GeoSpatial
Streaming and Batch togather
Uniformed platform with above technologies
本文转载自 华为云产品与解决方案 公众号。
原文链接:https://mp.weixin.qq.com/s/thfBcwki0eoPx7q3RQCdfQ
评论