高通量低延迟的云环境大数据流水线架构
极客时间编辑部
讲述:丁婵大小:7.76M时长:05:39
你好,欢迎收听极客视点。
在现实环境中部署大数据分析、数据科学和机器学习应用,数据流水线是部署过程中的重中之重,只有基于正确配置的流水线,才能确保项目的长期正常运行。最近, Slang Labs 的联合创始人萨蒂什·钱德拉·古普塔(Satish Chandra Gupta)从需求愿景、流水线、组件选取、生产环境这四个维度展开,阐释了数据流水线及实现各步骤的可选组件。以下为重点内容。
需求愿景
构建数据分析平台和机器学习应用的切实用户可归为三类,即数据科学家、工程人员和业务管理人员。本文聚焦于工程人员,并兼顾其它两方面,特别是从处理机器学习应用所需海量数据的角度。由此,数据流水线所需的工程特征为:
可访问性:数据科学家易于访问数据,以便开展假设评估和模型实验。
可伸缩性:随着获取数据量增加而弹性扩展的能力,同时维持较低的成本。
效率:在设定时间开销内给出数据和机器学习结果,满足业务目标的需求。
可观测性:对数据和流水线健康状态自动报警,满足主动反馈潜在业务风险的需求。
流水线
数据只有在被转化为具备可操作性的洞察,且洞察得到及时交付使用,其价值方能体现出来。
数据流水线实现端到端的操作组,其中包括数据收集、洞察转换、模型训练,洞察交付和应用模型。无论何时何处,只要业务目标有需求,流水线就会立刻运转起来。
数据流水线主要包括五个过程,分别是:
采集:指移动应用、Web 网站、Web 应用、微服务和 IoT 设备等数据源设施,按指令采集相关数据。
获取:指受控数据源将数据推送到各种设定的数据入口点,例如 HTTP、MQTT 和消息队列等。也有一些任务从 Google Analytics 等服务导入数据。数据具有两种形态,即 BLOB 和流数据。所有数据将汇总到同一数据湖中。
准备:数据通过 ETL(抽取、转化和加载)操作清洗、确证、塑形和转化,以 BLOB 和流数据在数据湖中分门别类管理。准备好机器学习可用的数据,并存储在数据仓库中。
计算:实现分析、数据科学和机器学习。计算可组合批处理和流处理,所得到的模型和洞察,无论是结构化数据还是流数据,继续存回数据仓库中。
结果展示:通过仪表面板、电子邮件、短信息、推送通知和微服务等方式展示所得到的洞察。机器学习模型推理将通过微服务提供接口。
组件选取
现在有多种体系结构可供选择,提供不同的性能和成本权衡。不过,从技术上考虑的最好选择,不一定是最适合生产环境的解决方案。用户必须仔细核对自身的需求:
是否需要实时洞察或模型更新?
对陈旧应用的忍耐程度如何?
成本约束如何?
基于对上述问题的回答,用户必须在 Lambda 架构中的批处理和流处理上做出权衡,以匹配对处理通量和延迟上的需求。Lambda 架构由三个层级组成:
批处理层:提供高通量、全面、经济的 MapReduce 批处理,但是延迟很高。
加速层:提供低延迟的实时流处理,但是在数据量很大时,实现代价可能会突破用户内存规模。
服务提供层:实现高吞吐量批处理输出(在准备就绪时)与流处理输出的合并,以预先计算的视图或即席查询的形式提供全面的结果。
Lambda 架构基于的假设是源数据模型 append-only,即已获取的事件会打上时间戳并追加到现有事件中,而且永远不会被覆盖。
生产环境
对于不具操作性的分析和机器学习,生产环境将成为它们的埋葬之地。如果用户未对 7x24 全天候监测流水线处理做出投资,使得在某些趋势阈值被突破时就发出警报,那么数据处理流水线可能会在没有引起任何人注意的情况下失效。
数据流水线的实操是一件非常棘手的事情。下面这四点建议可供你参考:
在扩展数据科学团队之前,先扩展数据工程团队;
勤于清理的数据仓库;
从简单之处开始,降本增效,逐步投入;
只有在经过仔细评估后,再着手构建。
以上就是今天的内容,你在生产环境中建立可靠的数据流水线都有哪些技巧呢?欢迎在评论中分享。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- 小斧需求愿景 流水线 组件选取 生产环境
收起评论