2020年大数据与AI结合的发展方向

吕旷
• 阅读 461

2020年大数据与AI结合的发展方向

作者 | 张彭善

从 2003 年谷歌大数据“三驾马车”论文的发表到现在,大数据技术历经 10 余年,经历了风口到落地再到大规模的普及应用,目前已经成为各大企业尤其是互联网企业的基础设施。十几年中,早期 Hadoop 的大力发展、中期 Kafka、Spark 的异军突起以及现在 Flink 的强势突围,不仅推动大数据成为了企业应用的关键组件,同时为机器学习 AI 技术的发展提供了强有力的保障。本文尝试着分析和总结大数据技术与 AI 技术结合的现状和发展方向。

实时大数据技术、实时机器学习技术和应用持续发展

早期 Hadoop、Spark 等大数据技术主要解决批处理计算的问题,通过分布式可扩展容错的架构,对于数据规模的问题,大数据技术解决方案已经非常成熟,尤其云计算容器技术的发展更好地提供了资源的弹性扩展,使得数据规模问题的解决更加容易。然而,企业在应用好此类批处理、离线计算之后,对于数据和计算的实时性有了更迫切的要求,离线数据和批处理系统的高延时已经不能满足业务发展的需求。实时性不仅是对于数据的要求,也是对于计算以及机器学习应用等系统组件的一致要求,这也更多反应在从数据的生成到产生价值反哺生产系统的时间延迟要求更短。

Kafka 作为异步消息系统的事实标准,基本垄断了大数据实时系统数据传递与转换的通道。Flink 在实时大数据计算领域异军突起,目前越来越多的实时应用以 Flink 为解决方案或是迁移到 Flink 上来。同时一个有趣的现象是,Kafka 和 Flink 在自己的优势场景之外,也在日益向外拓展边界,Kafka 从消息系统到实时处理拓展,Flink 从实时处理到实时机器学习拓展,此外基于这些主流的实时系统组件,构建起实时特征计算、实时机器学习系统也越来越容易,未来会有更成熟的一体化的实时端到端的解决方案和产品出现。

2020年大数据与AI结合的发展方向

大数据底层技术基本格局已定,未来主要是大数据上层应用的发展

早期 Hadoop 占据批处理计算的统治地位,目前主流已经是 Spark 的批处理应用,Hadoop 已经下沉到底层 HDFS 以及为基于其上的 HBase、Spark、Flink 等提供服务。Kafka 在异步消息系统的统治地位短期也难以被撼动,基本上主流的实时计算框架或者快速数据流转都是基于 Kafka 去构建。Flink 在实时计算领域异军突起,有一统此领域的趋势。可以看到整体大数据技术基本格局已定,整个技术栈丰富且日趋成熟。基本上很难形成与这些组件的竞争,目前主要是随着业务的需求与发展,大数据上层的应用会是一个趋势。之前的大数据组件需要更多的是专家级的大数据工程师才能使用和构建,这也产生了很多问题,比如使用和排错都存在门槛。可以预见到,大数据的用户会从工程师向前更多地扩展到分析师、数据科学家甚至是非数据相关的产品、设计等等角色。基于这样的需求,大数据上层的应用会越来越多。可以预见会有更多的高效的数据分析平台、可视化数据产品、端到端的可视化 AI 构建产品等上层应用出现。

存储与计算分离、云计算推动 AI 应用异构平台的发展

大家如果比较熟悉 Hadoop 就知道,它的一大特性是计算和数据的本地化,即把计算放到数据所在的机器运行。随着数据量级的增长以及网络带宽的提高,计算与存储分离的系统越来越多且并未成为计算的瓶颈。将计算和存储分离还有另一大好处是可以更好的管控和隔离计算和存储资源,提高整个平台的稳定性,这对一些线上大数据组件如线上 HBase 等系统的稳定性可用性的支持尤为关键。

早期的大数据平台主要是商业机器为主,辅以强大的软件容错功能,并未有稳定性的损失。在存储方面,SSD 价格持续走低,其上的应用和框架也越来越多,如 AeroSpike 可以通过 SSD 的扩展在不丢失延迟性能的同时极大的提高扩展性和降低纯内存方案的成本。持久化内存 (Persistent Memory) 存储产品开始面市,这对于整个的数据和存储解决方案可能会带来很大的革新。在计算方面,GPU 用以提高深度学习等计算密集型应用的计算效率,CPU 和 GPU 混布已经成为一个趋势。云计算技术尤其是容器化技术使得各种异构存储和计算的融合成为可能,进而提高整个数据中心资源的使用效率。

2020年大数据与AI结合的发展方向

AI 平台与大数据平台融合构建端到端的整体解决方案

机器学习 /AI 的发展尤其是在互联网行业的应用推动了大数据平台和 AI 平台的融合。在以前,我们需要在大数据平台构建和实验数据特征,然后按照机器学习训练的要求统一处理数据;然后上传到 AI 训练平台训练模型;经过反复超参数调节和特征工程工作,训练好模型再发布到线上系统做实时的预测和决策,进而支撑各种业务如广告、推荐、风控等场景。可以看到,整个的流程需要各种平台之间的切换和数据传递,甚至是每一种数据处理、每一种实验、每一个数据问题都可能会使得用户在平台之间反复与切换,这不仅导致 AI 应用构建的效率不高,甚至不能满足日益发展的业务对于 AI 应用的上线时间的要求。

构建整个端到端的大数据机器学习平台已经成为了迫切的需求用以解决上述的问题,目前基本上各大公司都在或者已经成功将大数据、机器学习、线上服务融合到一个端到端的平台。这样,终端用户甚至可以基于此平台无缝化的从数据开始,高效的构建起整个机器学习模型的管道,此过程中任何数据以及模型的更正,仅仅是一些简单的操作就可以做到,真正做到了高效统一。另外,笔者在公司领导开发的系统更是做到了支持机器学习特征和模型线上一键自动发布、验证以及决策划分。此外,整个底层计算系统的打通和共享,也解决了之前系统分离而资源不足的问题。

结语

最后对本文做一个简单的总结:大数据经历了较长时间的发展,目前已经进入了稳步的发展时期,主流的大数据计算框架已经成型,越来越多的基于这些主流框架的精细化上层应用会成为一个趋势。此外机器学习、AI 的持续发展反过来也在推动大数据的规模、实时性以及平台化的发展。越来越多的企业构建起端到端的大数据机器学习平台以提高大数据 AI 落地效率,各大云厂商更是构建出此类一体化产品希望能够收获更多的客户和收益。

2020年大数据与AI结合的发展方向

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
11个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
4年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Java修道之路,问鼎巅峰,我辈代码修仙法力齐天
<center<fontcolor00FF7Fsize5face"黑体"代码尽头谁为峰,一见秃头道成空。</font<center<fontcolor00FF00size5face"黑体"编程修真路破折,一步一劫渡飞升。</font众所周知,编程修真有八大境界:1.Javase练气筑基2.数据库结丹3.web前端元婴4.Jav
梦
4年前
微信小程序new Date()转换时间异常问题
微信小程序苹果手机页面上显示时间异常,安卓机正常问题image(https://imghelloworld.osscnbeijing.aliyuncs.com/imgs/b691e1230e2f15efbd81fe11ef734d4f.png)错误代码vardate'2021030617:00:00'vardateT
Stella981 Stella981
3年前
Android蓝牙连接汽车OBD设备
//设备连接public class BluetoothConnect implements Runnable {    private static final UUID CONNECT_UUID  UUID.fromString("0000110100001000800000805F9B34FB");
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Vitess全局唯一ID生成的实现方案 | 京东云技术团队
为了标识一段数据,通常我们会为其指定一个唯一id,比如利用MySQL数据库中的自增主键。但是当数据量非常大时,仅靠数据库的自增主键是远远不够的,并且对于分布式数据库只依赖MySQL的自增id无法满足全局唯一的需求。因此,产生了多种解决方案,如UUID,Sn
Python进阶者 Python进阶者
1年前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这
美凌格栋栋酱 美凌格栋栋酱
5个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
吕旷
吕旷
Lv1
此曲只应天上有,人间能得几回闻。
文章
3
粉丝
0
获赞
0