《CDP企业数据云平台从入门到实践》——CDP/HDP 何去何从 (7) https://developer.aliyun.com/article/1228525?groupCode=ClouderaCDP
5. 准实时分析
准实时分析需要对变化中的数据提供快速分析能力,包括结合历史数据和实时流数据进行汇总分析、预测和明细查询。
由于绝对实时和批量不可调和,“近实时”的意思是这是人机交互中能感受的尺度(秒级),而不是机器自动处理的实时性量级(ns/us 级)。
分析手段:数据价值从非结构化到结构化,分析从非范式到范式。SQL 是结构化分析的最终手段,但是:
• 分析包括汇总分析(顺序扫描)与明细查询(随机扫描)。
• 小数据量下都不是问题,但是放在海量数据下看,两种负载难以调和。
• 海量数据和实时流窗口上的 SQL 引擎实现也完全不同。
准实时分析的典型场景需要同时支持顺序和随机读/写的应用场景,包括:
• 在线交互式 BI 分析/决策辅助
场景举例:贷后风险实时监测、实时资产偏好视图、历史风险偏好趋势、市场监测
应用类型:需要准实时的同步插入/修改,同时汇总分析和单条查询
• 时间序列数据
场景举例:股市行情数据、欺诈检测和预防、风险监控、线上实时反欺诈
应用类型:需要实时捕获流数据,同时结合已有的 T+1 数据进行汇总、分析和计算
• 机器日志数据分析
场景举例:台机监控、故障预警
应用类型:需要过滤大量流数据,同时结合已有的 T+1 数据进行汇总、分析和计算
在企业数据中心中通常用 Lambda 架构来实现准实时分析场景。
但这种混合架构的复杂性无处不在:
• 同时提供高性能的顺序扫描和随机查询,避免使用 HBase+HDFS 混合架构的
复杂性
开发:必须编写复杂的代码来管理两个系统之间的数据传输及同步
运维:必须管理跨多个不同系统的一致性备份、安全策略以及监控
业务:新数据从达到 HBase 到 HDFS 中有时延,不能马上供分析
在实际运行中,系统通常会遇到数据延时达到,因此需要对过去的数据进行修正等。如果使用不可更改的存储(如 HDFS 文件),将会非常不便在 CDP 平台上通过使用 Kudu+Impala 的架构来提供准实时数据分析,这里只使用一套系统,不再需要后台定时的批处理任务来同步数据,可以轻松应对数据延迟和数据修复工作,新数据可以立即用于分析和业务运营。
Kudu+Impala 的架构具有下列特点:
• 通过 SQL 进行快速分析查询,并包含大多数常用的最新特性。
• 能插入、更新和删除数据。
• 主索引分布数据、确保数据唯一性。
• 更快的流式数据插入。
• 更好的 Hadoop 集成。
• 在同一集群中能进行 HDFS 和 Kudu 表之间的 JOIN。
• 与 Impala、Spark、Kafka 等的集成。
这里 Kudu 填充了 HDFS 和 HBase 两个存储的空缺,支持在快速变化的数据上进行快速分析。
6. 企业级大规模 IoT/实时流媒体场景
1) 数据收集的挑战
在制造过程中管理所有工厂的所有数据的收集是一项艰巨的任务,它带来了一些挑战:
• 难以评估 IoT 数据的容量和种类:许多工厂利用来自多家供应商的现代和传统制造资产以及设备,并使用各种协议和数据格式。尽管控制器和设备可以连接到 OT 系统,但是它们通常不以易于与 IT 系统共享数据的方式连接。为了实现互连的制造和新兴的 IoT 用例,需要一种解决方案,该解决方案可以从边缘处理所有类型的各种数据结构和架构,对数据进行规范化,然后与包括大数据应用程序在内的任何类型的数据使用者共享。
• 管理实时数据的复杂性:为了能够驱动预测分析用例,数据管理平台需要启用对流数据的实时分析。该平台还需要实时或近实时有效地摄取、存储和处理流数据,以便立即提供见解和行动。
• 将数据从独立的孤岛中解放出来:制造价值链中的特殊过程(创新平台、QMS、MES 等)奖励针对独特孤岛解决方案量身定制的不同数据源和数据管理平台。
这些独特解决方案限制了企业价值,只考虑了跨企业数据可以提供的洞察力的
一小部分,同时划分了业务并限制了合作机会。正确的平台必须具有从价值链
的各个方面摄取、存储、管理、分析和处理流数据的能力,并将其与数据历史学家、ERP、MES 和 QMS 来源相结合,并利用它来形成可行的见解。这些见解将提供驱动高价值制造业用例的仪表板,报告和预测分析。
• 平衡边缘:了解边缘和云中的数据处理之间的正确平衡是一个挑战,这就是为什么需要考虑整个数据生命周期的原因。行业中的趋势令人担忧,因为公司选择专注于一个或另一个而又没有意识到自己可以并且应该同时做这两个事情。云计算可用于长期分析和大规模部署,但它受到带宽的限制,并且通常收集大量数据却仅使用其中的一小部分数据。边缘的价值在于在将最有价值的数据发送到云以进行进一步的高性能处理之前,以零延迟对影响最大的边缘起作用。
2) 使用 Cloudera 数据平台收集数据
步骤 1:收集原始数据
制造业务中的数据包括多种来源-工业机器人、白车身磷酸盐涂层处理罐(温度、浓度或补给),供应链远程信息处理或主要零件信息等。这部分数据可能是每个工厂已经收集的主数据,也可能是原始的数据源。
步骤 2:为每个工厂配置数据源
将使用 Cloudera 流管理(由 Apache NiFi 提供支持)来说明该数据收集、以检索该原始数据并将其拆分为单独的工厂流(由 Apache Kafka 管理)、以更准确地模拟真实场景。
图 2:数据收集流程图
步骤 3:监控每个工厂的数据吞吐量
现在,所有数据都流入单独的 Kafka 流中,数据架构师正在监控每个工厂的数据吞吐量,并调整所需的计算和存储资源,以确保每个工厂都具有将数据发送到平台所需的吞吐量。
步骤 4:从 Apache Kafka 流捕获数据
Kafka 捕获所有工厂数据流并将其收集到处理器中,这些处理器将进行过滤和丰富,以用于控制和运行由运营数据库提供支持的基本业务运营,或者通过企业数据仓库或用于高级分析的业务企业见解。
步骤 5:将数据推送到存储解决方案
由于制造和质量工程师希望密切监控此电动机的部署和现场使用,因此特定的制造可追溯性数据被过滤到单独的路径中,并保存在 Apache Hive 中自己的表中。这将允许工程师稍后在 CDP 中针对数据进行临时查询,并将其与企业数据仓库中的其他相关数据结合起来,例如维修订单或客户反馈,以产生诸如保修,预测性等高级用例维护程序或产品开发输入。
或者,如果需要控制和运行基本业务操作,则将带有已处理时间戳的整个数据集发送到 Apache HBase。此数据将用作其运行库存平台的基础,这将需要使用恒定的读/写操作,因为每天可以添加和删除库存数千次。由于 HBase 旨在大规模处理此类数据事务,因此它是应对这一独特挑战的最佳解决方案。
3) 用例总结
该用例显示了正确摄取数据的重要性,因为这是从运营数据库、企业数据仓库或高级分析机器学习预测分析中获得洞察力的基础。“正确处理”的价值包括使用来自任何企业源的数据,从而打破数据孤岛,使用所有数据(无论是流数据还是面向批量的数据),以及将数据发送到正确位置以产生所需的下游洞察力的能力。使用 CDP,数据工程师和其他业务用户可以开始将收集的数据用于各种任务,从库存管理到零件预测到机器学习。由于 Cloudera Data Flow 促进了从任何企业源获取实时数据的能力,因此可以扩展和维护它,而无需广泛了解各种编程语言和专有数据收集方法。如果遇到独特的问题,工程师还可以创建自己的过程逻辑以进行真正的细粒度控制。
《CDP企业数据云平台从入门到实践》——CDP/HDP 何去何从 (9) https://developer.aliyun.com/article/1228522?groupCode=ClouderaCDP