首页 > 编程知识 正文

大数据系统运维,如何提升个人的数据分析能力

时间:2023-05-05 12:52:07 阅读:53006 作者:4051

(这个句子来自乐字节)

源起谷歌“三驾马车”

谈大数据,躲不开谷歌的“三驾马车”。 2003年,谷歌发表了第一篇论文3354谷歌文件系统(GFS )。 次年,谷歌再次发布论文——分布式计算框架MapReduce; 2006年谷歌发表了第三篇论文——NoSQL数据库系统BigTable。

这三篇论文由此开启了大数据时代。

受谷歌“三驾马车”的影响,其他互联网公司也在尝试大型分布式系统,希望建立强大的数据存储、分析和处理平台。 但当时正值前Hadoop时期,互联网公司基本上都是摸着石头过河。

2

数据收集和计算领域的先驱

在众多网络公司中,如乐字节公司等,2006年成立的秒针系统无疑是这一领域的献殷勤羊。 秒针系统产学研中心负责人的完美外套显示,2008年Hadoop还不成熟,他们从零开始开发了自己的大数据平台。 “构想与Hadoop MapReduce相似,一天可以处理数十亿数据”。

完美的外套在2007年加入秒针,当时他还是大学三年级学生。 一年后,他正式毕业,留在了秒针系统。 他先后指导了广告监控系统AdMonitor等核心产品的研究与开发。 作为秒针系统的老人,我们见证了秒针系统大数据平台从0变成1的过程。

据说秒针系统的业务是广告监测,核心产品是管理员。 在管理员的服务链接中,前端负责数据收集。 每个广告都将嵌入发送到秒针系统域名的代码。

当广告在媒体端单击时,嵌入的代码将发送回秒针系统的服务器。 这样,系统就知道广告曝光完成了。 这类广告业务流程主要包括数据收集、数据存储、数据计算和数据分析技术。

繁多的数据收集

那么,第一个问题是秒针系统是如何收集数据的? 完美外套显示,在电脑时代,人们经常使用JavaScript收集数据。 这需要与所有浏览器兼容的秒针系统产品,包括Firefox、IE、自豪浏览器和海豚浏览器。 据说饼干是当时数据收集中使用的主要技术之一。 除了cookie外,还与Flash结合。 当时,大部分广告都是Flash。 因为Flash本身是可执行程序,所以可以在其内部编程,并放入监视代码收集数据。

根据完美的外套,“Flash还有cookie这个概念,技术术语叫做FSO。 使FSO和cookie各种各样联动,实现持续化。 此处已删除。 那边可以恢复; 那边删除了。 这边还会恢复的。 在保护用户隐私的同时,更准确地识别独立用户。 ”

到了2012年,智能手机问世,安卓和IOs APP的数量不断增加,秒针系统为AdMonitor产品增加了移动终端的广告测量能力。 SDK技术已成为当时移动端数据采集的主要方式。 完美外套说:“安卓、iOS都是新的,不仅要学习新的编程语言,还要面对新的技术环境进行开发。 制作一个APP应用程序后,必须适合制造商不同机型的不同型号。 不仅要支持硬件,还必须支持用手机运行的各种APP”。

举个例子,艾奇伊、优酷和腾讯视频是三个主要的视频APP。 SDK要在此基础上运行,前期进行各种对接测试,保证正常运行。 “不能冻结APP,也不能减慢系统的运行。 另外,数据收集结果必须与他们报告的一致。 因此,每次参加主要App时,都需要进行技术对接和数据测试。 ”他说。

2012年8月,秒针系统正式推出中国首款移动广告路牌SDK,“很快就被加入主流APP”。

用RAID 5解决数据存储难题

当时秒针系统大数据平台的运输负责人kxdjqm告诉InfoQ记者,秒针系统业务量当时非常大,占全国所有广告监控流量的60%,收集数据的服务器每天PV量超过100亿

这么多数据,怎么存储? 完美的外套显示,当时使用的是独立磁盘冗馀阵列(RAID )技术,具体为RAID 5技术。 数据写入磁盘时,将数据分成N-1部分,同时写入N-1张磁盘,验证数据是否以螺旋式写入所有磁盘。 这将提高RAID 5的访问速度和数据可靠性。

使用完美的外套后,他说:“一个集群中,有一个数据被切片后不同的地方。 如果一个磁盘被破坏,也可以从其他位置恢复。”

百亿规模的数据计算问题,怎么解决?

数据收集后,重要的是数据计算。 根据kxdjqm,计算分为两类。 第一种是按小时批量计算,平台需要较大的数据处理能力。 二是实时计算。 这需要保证实时计算的可靠性。 否则,计算会延迟,“客户看到的数据不准确”。

据说秒针系统当时一天有100亿以上的数据。 这一台日志服务器的负载性能为“满负荷运行,一天可以处理4亿个数据”。 实际上,一台日志服务器每天处理2亿个数据,负载利用率通常为50%。 这样计算,大约需要50台日志服务器。

如果数据量超过一台服务的负载能力,前端将分为多台服务进行负载平衡。 例如,监控代码被添加到不同的媒体上,每个广告主都在多个媒体上,但每个媒体同时有多个广告主,每个媒体有不同的广告位。 “所以,请用监视代码ID对所有这些进行索引”。

完美外套显示,“当每个广告被曝光或点击时,这是

条请求是发到了哪台服务器,都要有一套统一的调度规则,保证每台服务器的承压一致,保证每台服务器分工合理。这样整体性能就会最好”。

在数据计算架构上,由于 Hadoop 当时不成熟,所以秒针系统使用了一个开源的分布式文件系统 KFS。kxdjqm说:“基于 KFS,我们没有用 Hadoop 零点几版本的架构,因为不太稳定,其管理节点不是高可用的。”Hadoop 在 2.0 版本之前,其 NameNode 只有一个,一旦坏了,整个集群就会崩溃。所以,自己维护了一套分布式计算任务的调度工具,把顺序调度和背序调度相结合,再加入一些针对局部的调度技巧和优化。

Hadoop 助力,技术能力再上一层楼

2012 年,Hadoop 发布 2.0 版本。它是一套全新架构,包含 HDFS Federation 和 Yarn 两个系统。相比 1.0 版本,它更稳定,也更成熟。因此,秒针系统开始逐渐采用。但系统迁移并不是那么容易,花了一年的时间才成功切换到 Hadoop 上。

完美的外套说,一方面,版本不稳定;另一方面,所有人都是新手。出现问题找不到原因时,完美的外套他们就到 Hadoop 开源社区去问,有没有人遇到同样问题。如果其他人也遇到这个问题,大家就一起讨论怎么办。而有的问题,”没有其他人遇到,就只能自己看源代码,想办法解决,解决不了的,再找别的解决方案,用别的东西来实现或自己写代码实现“。后来,随着故障的不断减少,技术人员的经验越来越丰富,迁移到 Hadoop 上的大数据平台也愈加成熟和稳定,能力变得更强。

2014 年,秒针系统达到一个新高度——实现日均最高千亿级广告请求处理能力。

3
站在秒针系统肩上的明略

2012 年,大数据的概念开始火起来。此时,Hadoop 生态圈的重要角色都已入局,包括 Facebook、LinkedIn 和 Twitter 以及 Hadoop 三大发行商 Cloudera、MapR、Hortonworks。整个生态的蓬勃发展和日益完善让 Hadoop 的市场前景变得更美好。于是,从秒针系统孵化出一个小团队,目标是做定制化大数据平台。这样,明略诞生了。

kxdjqm被抽调到明略,开发大数据平台。相比以前,开发一个大数据平台相对更容易,因为秒针系统的实践积累了一些经验,并且 Hadoop 生态发展越来越完善,有更多的工具可以利用。

技术选型

据kxdjqm介绍,技术选型的一个标志是 Hadoop 在 2.0 时提出了 NameNode HA 框架,加入选举机制和控制组件,可以实现大于 3 的奇数个管理节点的配置。当一个管理节点宕掉,马上会选出第二个管理节点,这是一个真正的高可用状态。

此前,他们虽然一直关注 Hadoop,但是却没采用,原因之一是 Hadoop 1.0、1.1 版本,只有一个核心管理节点 NameNode。后来,它引入 Second NameNode,即有一个主活管理节点,有一个备用节点,这两个节点实时同步。如果主节点服务宕掉了,备用节点会提醒并继续管理这个集群。但是,它其实并非高可用,“因为服务要切换,并且 Second NameNode 也会有问题”。

他说:“在 Hadoop 2.0 时,我们认为它达到一个基本工业级可用的状态。只要整个集群不出太严重的问题,一些细节问题,比如计算效率问题、任务调度问题等,我们可以通过修改开源代码,或调整执行任务,优化任务策略,慢慢改进。”
因此,明略就把所有的技术体系切到 Hadoop 上面。

2014 年 7 月,明略发布大数据平台 1.0 版本。据悉,1.0 版本已经相当成熟,“在集群上架的服务器系统装完情况下,网都通了,不能说完全一键部署,但是点几键就能搞定部署。半小时左右就可以完成一个大数据整个生态体系的部署和安装“。

这一年,明略数据成功中标中国银联项目,这是它在国内第一个大的企业级客户。kxdjqm称,“当时,任何成熟的(大数据)部署体系都无法做到半小时完成整个集群的部署安装和配置工作。这是我们成熟的一个标志”。

发力知识图谱

基于已有的大数据技术,明略在 2015 年继而研发出知识图谱,核心产品是 SCOPA。

自己的大数据发展蒸蒸日上,为什么要去做知识图谱?现任明略科技集团副总裁kxdjqm解释,第一,知识图谱技术源于搜索引擎,它把所有网页和内容做知识化管理,这样能更好地理解用户搜索意图,提供用户想要的内容和结果。第二,差异化竞争。他说:“如果能把大量的结构化数据,从原来简单数仓的计算一些报表,做一些查询,转换思路,从中抽出它本身的含义,组织成业务知识,更有效地组织数据,并且实现数据增值。这就可以跟业界很多做通用大数据处理的公司实现差异化。“

不过,他也坦承,基于大量数据做知识图谱有着不小的难度。

难度一,数据量非常大,这涉及到整个的实时数据处理能力,包括数据融合问题、数据冲突问题。同时,业界也没有参考的。

难度二,每个行业要建立领域知识图谱。“这与过去的专家系统很像。知识图谱的价值有多大,关键在于行业领域知识图谱的定义,每个行业都要跟业务专家探讨知识图谱的设计,同时不停地迭代,做各种改进,这很难“。

难度三,知识图谱要与一些 AI 技术相结合。知识图谱的主力场景是“从大数据里捞知识”,最基础的是实体与关系。据kxdjqm介绍,针对实体要做两件事:一是数据融合,二是给实体打上明确标签。但是实体种类非常多,怎么打标签,要使用很多 AI 技术。而关系的质量和数量决定了整个知识图谱组织形式的质量,”关系没有处理好,整个知识图谱的可用性就会降低,它的推荐、推理、交叉分析就用不起来。关系的处理也要用到很多的 AI 技术“。

更重要的是,与之前相比,知识图谱对背后支撑的技术平台要求更高。为此,kxdjqm他们在 2015 年决定做一个混合型知识图谱数据库。那么,这个混合型知识图谱要解决三个核心问题:

一是知识图谱要能实现全文式的定位式索引查询,比如根据一个关键词定位到知识图谱的某个点,这需要有一个全文的检索系统;

二是知识图谱会有很多的条件查询,比如常规的大数据计算,按照哪一个 Key 和 ID,做查询、统计分析;

三是知识图谱要有图,要完成关系的推演,包括关系存储。

这就要求既有全文,又有大数据,还有图。同时,还要把这三个存储融合在一起,做好统一索引和管理。

据kxdjqm透露,他们的解决办法是把 Elasticsearch、HBase 和图数据库 Titan 做了一致性索引的融合,包括统一的数据存储的路由、性能优化。

他说:“这个问题解决后,像怎么做业务定义、怎么描述图谱的语义等问题都可以用这个混合型数据库实现。大规模数据的融合、实时数据计算或高性能计算,这个混合型知识图谱数据库都可以用不同的特性支持每天更新,甚至是实时更新。”
明略知识图谱的技术架构

这个架构体系中,前端有数据接入、数据汇总。之后,数据清洗,进行知识图谱构建。在知识图谱里,还有实体构建、实体标签的构建、关系构建等。同时,还有图谱事件类或者行为类数据的构建。这是一整套数据处理的基础流程。

往后,把这些数据加载到图数据库。在这之上是基于知识图谱的可视化交互分析系统。

知识图谱的技术架构仍以 Hadoop 为核心,数据接入上,最早用 Flume(现已切换到 Kafka)。据kxdjqm介绍,”如果对接的是数据库系统,用的是 Scoop 1.0 和 2.0。数据抽取上来后,如果不属于日志型、库表型,用脚本方式抽取到平台上,落地到 HDFS;如果是结构化数据,直接落成 Hive 表。基于 Hive 层完成整个数据清洗、融合、转换和知识图谱构建工作,基本上用 Spark 实现整个的数据治理过程。如果是实时计算,用的是准实时 Spark Streaming 的技术选型,因为这可以减少更多相关组件的引入”。

简言之,核心图谱库的架构和支撑基本是一个以 Elasticsearch、HBase 和 Titan 三个库为核心的综合混合型数据库。

据悉,2015 年底,明略知识图谱就在国内一个省会市级公安局落地,为公安做数据分析,包括线索挖掘、团伙预警,协助公安破案。

2016 年到 2017 年,kxdjqm带领团队探索知识图谱在更多行业的落地和应用,目前,明略知识图谱在公安、金融、工业和数字城市等领域得到广泛应用。

4
回看大数据 15 年发展

2019 年,大数据进入后 Hadoop 时代,各种实时架构和组件大规模发展,大数据技术也与云原生、人工智能深度融合。

回顾大数据过去几年的发展,kxdjqm把它概括成三个阶段:

阶段一,大数据初期,以卖硬件和炒作概念为主。2010 年左右,很多大型企业受市场和宣传影响建设了大数据平台,但没有发挥出作用,因为脱离业务。
阶段二,大数据进一步发展,以分析型为主。2014 年,企业对大数据的认识进一步深入,通过收集更多数据,帮助业务决策。

阶段三,大数据发展成熟和稳定,以实时性分析为主。架构上,Lambda 架构和 Kappa 架构广受欢迎, Flink、Kafka 的使用越来越广,业务对实时性要求越来越高。“实时分析意味着实时性的决策和实时的价值,这对业务系统直接产生影响”。以银行为例,一个人申请贷款,是否放贷,银行要做大数据风控,进行实时分析。因此,这个阶段要求大数据的实时性更高,更轻量级的组件和更先进的技术。

kxdjqm说:“现在,大数据已经发展到一个精细化阶段。”

以前,人们对数据的认识是单点的、孤立的,理解很浅,比如先汇总数据,再慢慢挖掘和分析,但这可能汇总大量无效、无关的数据,这些数据对整个数据体系的业务价值会有负面影响。这些年,人们对数据有了新认识,比如数据并非越多越好,要规划好数据怎么存、怎么用、怎么产生更大价值。这就要求大数据越来越精细化和精准化!

5
写在最后:

从 2003 年谷歌的“三驾马车”到现在,大数据技术历经十余年发展,我也见证了它从风口到落地再到大规模的普及应用。2007 年,就投身大数据行业,从零到一研发出一套成熟的大数据平台,解决了大数据存储和大数据计算问题。此后,基于秒针系统积累的大数据能力,明略成功研发出知识图谱平台,并在行业里得到广泛应用。今天,大数据技术正与云原生、AI 技术相融合,数据驱动成为共识,作为行业殷勤的羊,明略一直深耕技术,从未止步,让数据产生更大价值、发挥更大作用。

PS:推荐个很不错的SpringBoot+Vue前后端分离项目实战自学课程 B站:BV1zN411f7ha

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。