第2章 大数据分析:基础 组织使用的技术 用于价值创造
婆瓦娜·阿罗拉
2.1 大数据简介
当代见证了海量数据的出现,与之相伴并被全球广泛接受的术语和趋势是“大数据”。论文(《什么是大数据?——Gartner IT术语表——大数据》,无日期)的作者将大数据定义为:“大数据是指体量大、速度快、多样性高的信息资产,需要采用成本效益高、创新的信息处理形式,以实现增强洞察力和决策能力。” 马尼卡 等 (2011)指出,“大数据”是指“数据集的规模超出了典型数据库软件工具采集、存储、管理和分析的能力”。
当今全球存储的数据量正在飞速增长。2000年,全球数据存储量达到80万拍字节。随着互联网及其应用的扩展,所存储的数据正呈指数级增长,预计到2020年数据量可能上升至35泽字节。目前产生的数据并未得到有效分析,其蕴含的洞察也未能充分揭示。这些数据中包含着企业可用于提升商业视野的隐藏洞察。大数据体量对人类思维造成的影响极为严峻。尽管将包含多个太字节的数据量视为大数据是合理的,但若该数据仍可通过网络附加存储(NAS)或存储区域网络(SAN)配合额外磁盘阵列进行管理,则可能并不真正属于“大数据”。只有当数据超过这一限度,即达到拍字节级别,并且必须依赖复杂的应用程序和工具才能管理时,才可被称为“大数据”。
此时需要广泛采用复杂的分布式计算和存储网格技术,以实现对该类数据的有效管理。
然而,企业使用各种工具和技术来收集和存储不同类型的大数据。对大数据的多样性进行分析具有挑战性,因为大数据分析所需的工具在设计和实施上极为复杂。数据管理是另一个重大挑战,因为企业必须明确大数据采用的策略。显而易见的是,大数据中巨大且复杂的信息给组织带来了前所未有的各种挑战。海量数据的存在为行业中的研究人员、分析师和决策者带来了诸多问题。有时,组织中的决策者往往在缺乏完整事实的情况下做出决策,而另一些人则将商业智能与数据分析视为其前瞻性计划的一部分,以增强企业竞争力。
大数据的发展见证了全球可用于决策的数据的爆炸性增长,但只有在这些数据能够被有效利用的情况下,这种增长才具有实际意义。可以及时完成。为此,需要强大的工具来协助存储、提取和分析大数据集中的数据。大数据也可以被定义为无法通过传统处理方法进行处理的数据。定义如下(贾因2015):
- 黑匣子数据记录了直升机及其他飞机的飞行机组人员的语音和录音,以及与飞机性能相关的信息。
- 股票持仓数据,其中包含客户对不同公司的股份或股权做出的决策。
- 来自社交媒体网站(如Facebook和Twitter)的数据,包含全球数百万用户发布观点和其他信息。
- 交通和气象数据来源。
- 搜索引擎从不同数据库中检索到的数据。
- 变质和人口普查数据。
- 面向连接的数据,包括传感器数据。
- 来自云存储的数据,提供按需计算和数据服务。
大数据不仅仅是更多的信息;它标志着行业经验作为核心竞争优势的时代即将结束(Stubbs 2014)。大数据已不再是哲学幻想。它已经在产业中落地。大数据不能被简单地视为“数据”的最新版本。如今,用户正在产生比以往更多且更多样化的数据。在马尼卡等(2011)的研究中,提出了大数据对企业组织的五大主要贡献:
- 通过提高大数据的可访问性并及时为其使用做好准备,以实现透明度创建和价值创造
- 通过支持实验实现性能提升
- 通过定制满足特定需求的产品和服务实现人群细分
- 决策支持
- 创新商业模式、产品和服务
大数据与商业分析相辅相成。没有数据,就无法进行分析;没有商业分析,大数据就只是噪音。大数据具有提升效率的潜力,并能够产生收益。这些收益包括生产力等内部价值以及收入增长等外部价值。对于能够利用大数据的人来说,它提供了卓越的洞察和预测能力。
2.2 大数据的V特征
当今时代,数据正以天文数字般的速度被产生。为了分析这种持续变化的数据,专家们正在不断开发新的工具和技术,以应对海量数据的复杂性。未来的趋势是,随着越来越多的数据生成应用的发展,大数据将不断增长而非减少。大数据可以通过体量、价值、多样性、速度(菲利普·陈和张2014)、真实性以及可变性来刻画,这些参数中的每一个定义如下:
2.2.1 体量
如今,由于组织从各种来源收集和处理数据,产生了大量的数据,这些来源包括应用程序生成的日志、机器生成数据、电子邮件数据、天气和地理信息系统(GIS)数据、调查数据、报告以及社交媒体数据。大数据分析具备处理海量信息的能力。数据量已达到太字节(TB)或拍字节(PB)级别。例如,金融行业在市场数据、报价以及金融交易方面产生大量数据。纽约证券交易所每天产生的数据超过一太字节(“想在股市赚大钱?使用大数据分析”,无日期),如果按月、按年累计计算,数据量极为庞大。据Beaver 2008统计,Facebook托管了约100亿张照片,到2008年已形成约一拍字节的数据存储。另一个网站家谱网存储了约四拍字节的数据(Bertolucci 2013)。即便是互联网档案馆也存储了约两拍字节的数据,并且正以每月约二十太字节的速度快速增长(“1. 认识Hadoop—Hadoop:权威指南 第3版 [图书]”,无日期)。这些包含高容量数据的大数据结构往往对存储和处理能力造成限制。同时,也对数据库结构带来挑战,因此随着数据的增长,数据库建模变得复杂。布罗克和汗(2017)在其研究中分析指出,海量数据对底层存储基础设施构成了挑战,进而要求系统具备可扩展性和分布式查询能力。由于传统数据库技术无法应对大数据,而数据集的规模已超出计算和存储能力的极限,因此分析大数据需要强大的计算能力和并行处理技术。
2.2.2 多样性
传统系统严重依赖底层的结构化数据,其维度通常考虑准确性、完整性、相关性和及时性。这些系统的输入需要谨慎且细致地录入,以确保生成的报告具有意义且实用。大数据具有异构性。在这种环境中,系统需要使用数据清洗技术,以消除源中的垃圾数据。来自各种来源(如应用程序、股票数据、电子邮件、地理数据、天气数据、社交媒体应用数据)的数据由于来源多样,难以处理,几乎不可能将这种异构数据转换为传统的结构化形式进行处理。
为了处理此类数据,需要采用特殊的技术和技术,能够理解和超越对关系型结构化数据的传统处理方式。大数据解决方案需要不同类型的处理工具来处理异构数据。
2.2.3 速度
数据流入系统及其环境的速率被称为速度。随着互联网和移动数据进入消费者的生活,这个时代见证了高频率的数据流,因为消费者随身携带的设备产生了大量包含地理定位的图像和音频的数据流源。研究表明,在2013年,全球每10分钟就会产生约5艾字节的数据。如今,这一数字呈指数级增长,数据每分钟都在生成。然而,大数据的速度的重要性也随着数据量的增长而以相似的速度增加。例如,企业沃尔玛每小时产生约2.5拍字节的数据(布罗克和汗 2017)。速度面临的主要挑战之一是通信网络。由于大数据处理需要实时处理,因此网络中数据流的流入处理能力也是一个重大挑战。
2.2.4 真实性
数据的可靠性与可信度被称为数据真实性,这也指数据的质量。需要关注的重点是:“这些数据的准确性如何?”例如,以 Twitter 帖子中的推文为例,这些帖子包含话题标签、拼写错误、缩写等。所考虑的数据应当是可靠、准确且可信的。对这类数据的操作与分析必须具有定性且可信,才能从中获得正确洞察。对于实时应用而言,在某些时刻,当被分析的数据无法及时提供时,为提供正确和可靠的数据,应用程序可能会产生最接近的最佳结果。
2.2.5 价值
价值指的是所提取数据的有用程度。一方面,如果组织拥有大量的数据,但除非这些数据能够对组织产生实际用途,否则它毫无价值。尽管数据与洞察之间存在明确的关联,但这并不一定意味着大数据中必然存在价值。原始数据相对于其数据量而言可能价值较低。通过适当分析大量数据,可以从数据中获得高价值和显著的洞察。开展大数据项目的意义在于了解在收集和分析数据过程中所产生的分析成本以及获取收益的情况。因此,这可以确保所获取的数据被货币化,并使组织获得最大化的收益。
2.2.6 可变性
数据流速率的变化称为数据的可变性。大数据的速度是不一致的,具有周期性的低谷和高峰。由于大数据来自众多资源,因此也必须分析其复杂性。
从不同来源收集数据后会产生复杂性,因为需要对数据进行连接、清洗、匹配和转换(图2.1)。
2.3 大数据分类
由于大数据的数据源众多,根据数据类型的不同,大数据大致可分为三类:非结构化、半结构化和结构化。
2.3.1 结构化数据
以有序方式存储在数据库中的数据被称为结构化数据。统计数据显示,结构化数据仅占约组织所使用的数据的四分之一。这些数据可用于对数据库中的编程和查询结构进行操作。此类数据的来源可以是机器输入或人工系统。由机器生成的数据包括来自类GPS设备或传感器设备(如医疗设备、Web界面和日志)的数据。由人工系统录入的数据则包括需要人工干预生成的数据库记录。管理大型数据集的两种最流行的方法是以结构化方式组织的数据仓库及其子集,即数据集市。数据仓库可被视为从任何组织的操作系统和决策过程分离出来的数据集合,它是一个存储历史数据的大型存储库。数据从各种资源中编译和汇总,以提供及时准确的信息。数据仓库中的数据来源于组织内各个职能部门提取的信息。在数据集成到数据仓库之前,需经过一系列处理流程,这些预处理包括数据清洗、数据转换和数据编目。经过预处理后,数据即可用于高级在线数据挖掘功能。这些数据仓库由一个集中式单元进行控制。数据仓库的子集是数据集市,数据集市仅专注于特定的职能部门。数据仓库与数据集市的主要区别在于其范围和使用范围。结构化数据仅占大数据的一小部分,且这部分数据已准备好用于分析(图2.2)。
2.3.2 非结构化数据
与传统的行列数据库结构不同,非结构化数据在存储时无明确格式。这类数据约占大数据中总数据的80%。直到几年前,此类数据仍被手动地存储和分析,因为分析这些数据相当困难。非结构化数据可以包括机器生成数据和人类生成数据。典型的非结构化机器生成数据示例包括卫星图像、雷达捕获的数据,而非结构化人类生成数据则遍布全球,涵盖网络内容、社交媒体和移动数据。用户倾向于在Facebook、Instagram上传音频和视频等数据;这些均由用户贡献,属于海量非结构化数据的一部分。
构成大数据的最大非结构化数据组成部分是视频数据。
2.3.3 半结构化数据
非结构化数据与半结构化数据之间的界限非常模糊。除非有明确定义,否则半结构化数据可能看起来像是非结构化数据。尽管这些信息通常不以传统数据库的结构化格式排列,但其中包含了一些属性,使得数据处理更加容易和方便。
2.4 静态数据与动态数据
从技术上讲,为了从大数据中获得洞察,需要针对收集、管理和分析等各种流程采用合适的技术。实现这一预测目的至关重要。由于数据来自多种来源且类型各异,因此需要不同的计算平台来支持提供有意义的洞察。为了确定从大数据中获取洞察所需的技术和流程,必须理解静态数据与动态数据之间的区别。
2.4.1 静态数据
在数据处理系统中,静态数据指的是存储在稳定系统中的数据。静态数据包括编译并存储在电子表格、数据库、数据仓库、档案、备份和移动数据等结构中的数据。数据的分析和行动执行可能发生在不同的时间点。例如,零售商可以根据上个月的销售数据预测本月的商业活动。其中,行动是指做出战略决策,而活动则是指上个月的销售行为。市场活动和策略可以根据客户行为、促销方案等变量进行规划。通过此类数据分析,企业可以从中获益,这些决策能够影响门店的销售情况,同时客户也能从商店提供的促销方案中受益。
2.4.2 数据在传输中
动态数据的分析与静态数据的采集流程虽然相似,但两者在分析上存在差异。与静态数据不同,动态数据可以在事件发生的同时进行分析,即实时分析。动态数据指的是从一个地方传输到另一个地方的数据。在此类情况下,可以使用多种不同的网络,例如通过互联网发送电子邮件。许多节点连接到同一个网络,电子邮件的传输需要经过网络中的多个节点。动态数据面临安全问题,需要对数据进行保护。另一个例子是在水上乐园的不同网点定位客户及其选择。延迟也成为关键问题,因为处理中的滞后可能会导致错失机会,从而影响业务结果。这类数据也被称为传输中的数据或飞行中的数据。静态数据和动态数据都可以为业务分析提供非常有意义的洞察。为了获得完美的数据分析,必须采用并部署适当的处理方法和基础设施。
2.5 数据分析
用于检查数据并推断和得出有关该信息的结论的过程和技术即为数据分析。它在企业组织中得到应用,以帮助其做出更好的决策。数据分析可以根据分析的目的、范围和重点与数据挖掘相区分。为了从所涉及的大型数据集中挖掘数据,会使用依赖算法并能够在大型数据集上运行的复杂软件。它们可以揭示未发现的模式,从而能够建立隐藏关系。此过程被称为数据挖掘。对大数据进行适当分析可以帮助公司实现成本降低和显著增长。因此,企业不应再等待太久才去利用分析的潜力。大数据分析侧重于推论,即基于已知事实得出结论。该分析可分类如下(“Data mining versus data analysis and analytics—Fraud and fraud detection—Academic library—free online college e textbooks”,无日期):
- 探索性数据分析(EDA) ——这是数据的初步阶段,在此阶段对数据进行探索并发现新特征。
- 验证性数据分析(CDA) ——验证现有假设的真伪。
- 定性数据分析(QDA) ——它是对数据的质量参数进行分析,以从非定量和非数值数据(如图片、音频、文字或文本、视频)中得出结论。
大数据分析在审计中的重要性体现在企业组织的信息系统以及其他运营、程序和流程作为参考依据时。数据分析还有助于确定所涉及的系统在高效运行的同时是否能够有效保护数据,并帮助组织实现整体目标。商业智能从多个角度定义了分析。在呼叫中心应用中,它可以涵盖从在线分析处理(OLAP)到客户关系管理分析(CRM)。CRM分析包括所有分析客户数据并呈现结果的流程,以促进和简化组织做出更优的业务决策。
2.5.1 商业分析的类型
大数据中定义的关键子流程是数据管理与数据分析。数据管理流程负责数据的采集、存储、检索以及为数据分析做准备。数据分析的基础技术包括采集、标注、聚合等(Saravanakumar 和 Nandini 2017)。对于分析各种类型的结构化、非结构化和半结构化数据,采用以下分析方法(Saravanakumar 和 Nandini 2017):
- 文本分析 :也被称为从文本数据中进行的文本挖掘。它指的是通过使用统计模式从文本数据中提取高质量信息。它包括使用信息抽取(IE)、文本摘要、问答系统和情感分析等技术对文本数据进行机器学习和统计分析。用于文本分析的工具包括SAS文本分析、IBM文本分析、SAP文本分析等。
- 音频分析 :为了分析非结构化的音频数据,会使用语音或音频分析。在音频分析中,信息是从自然语言中提取的,即人工使用的语言。音频分析最流行的应用是呼叫中心,这些中心拥有数百万小时的数据,可用于改善客户体验并提升业务收入。对于音频分析,采用两种方法——基于转录的方法和基于语音特征的方法。用于音频分析的工具包括Marsyas、Vamp、SoundRuler和WaveSurfer等。
- 视频分析 :监控、检测和分析视频流中的数据被称为视频分析。这包括从时空事件中确定有意义的数据。视频分析的主要应用领域包括零售商店、医疗中心、交通、安防等。视频分析也称为视频内容分析。该技术使用闭路电视和监控摄像头来检测违规行为、识别可疑活动等。所使用的工具包括Ooyala、Vidyard、Vimeo分析等。
- 社交媒体分析 :社交媒体数据包括从Facebook、Twitter和博客等网站收集的信息。企业可通过研究用户行为和用户模式来分析这些数据以支持决策。用户意见被提取并进行分析。社交媒体分析可以采用基于内容的和基于结构的分析方法。使用的工具包括ViralWoot、Collecto、SumAll、Tailwind、Beevolve等。
- 预测分析 :对历史和当前数据进行分析,并基于此进行数据预测。它表达了对未来可能发生事件的可靠性。该方法基于统计方法。执行预测分析的各种工具包括Splunk、Medalogux等。
2.6 企业组织中的大数据范式
近年来,各种企业和组织一直在数据仓库和数据集市中的大型数据库中存储大量数据。然而,过去通常使用数据挖掘算法对数据进行分析以提取洞察。如今,所存储的数据不再具有同质性,而是来自多种来源的汇编。传统系统中的数据主要是由交易生成的,因此以行和列的形式组织成结构化数据。相反,如今存储的数据是非结构化的,来源于音视频、照片、短信、GPS设备生成的地图、电子邮件、社交媒体网站等多种来源。当这些数据存储在数字媒体中时,由于无法为这类数据定义统一的结构,因而属于非结构化数据。
此类数据的另一个关键特征是其实时可访问性。可以实时检索有关活动和事件的数据,并且这还将影响其结果。只有当组织被设计为能够实时操作时,才有可能实现这一点。流程设计应能够分析和利用实时数据,能够产生即时洞察,并处理这些洞察以支持实时决策。“实时”因素使组织能够采取及时且适当的行动。总之,为了从大数据中获得最大效益,组织必须实现实时运作。
2.6.1 商业分析:组织转型
商业分析可定义为利用数据驱动的洞察来实时创造价值。这是通过理解业务相关性、组织洞察、绩效和价值衡量(斯塔布斯 2014)实现的。数据驱动的洞察包括数据处理、报告、商业智能和高级分析。高级分析是一种能够回答以下问题的分析形式:发生了什么、将要发生什么、为什么会发生以及最佳可行方案是什么(斯塔布斯 2014)。高级分析包含的数据驱动的洞察包括数据挖掘、优化和预测。
它还可以被定义为利用适当的技术、工具和不同技术对数据或内容进行深入分析,这些技术通常超越了传统系统所使用的技术。商业智能(BI)可用于发现有助于获取更深层次洞察的模式,同时生成建议并进行预测。高级分析技术可能包括文本和数据挖掘、机器学习和模式匹配、可视化、语义与情感分析、预测、网络与聚类分析、多变量统计、图分析、模拟、复杂事件处理以及神经网络(“商业智能——BI——Gartner IT术语表”,无日期)。
商业分析的输出被视为组织中的价值创造。这种价值可以是内部的或外部的(Stubbs 2014)。内部价值来自组织内部团队的视角。外部价值则是从组织外部来看的。组织需要通过其关键资源,即人员、流程、数据和技术来创造这些价值。一系列可关联以实现结果的活动被定义为流程。流程可以是强定义的或弱定义的。一系列可重复且可能自动化的具体步骤被称为强定义流程。相反,依赖于人员能力来成功执行和完成的未明确定义的流程则是弱定义流程。为了生成新资产,应用了各种工具和技术,并将其整合到一个通用的分析平台中。商业分析的关键在于推动变革,而非追求更好的结果。
由于商业分析的影响,组织在实现其运营、战术和战略目标的方式上发生了重大的范式转变。
2.6.2 智能企业
无论人员在组织中如何行动和应对情况,大多数组织都可以看到它们团结在一个共同的目标之下。一个真正智能的企业运作起来就像我们的神经系统(Stubbs 2014)一样,具备敏捷性、适应性、灵活性,并能恰当地对外部刺激做出响应。组织的发展存在不同的层级,这些层级被描述为逐步递进的。这些通常是组织为构建能力而采用的方法。第一级是非结构化模式;第二级是结构化模式。真正的流程和模式始于第三级,从这里开始,系统基于“事物运作”的理论启动其“最佳实践”。当这两者之间的差距被缩小或消除时,业务系统就成为智能企业。
-
第一级:非结构化模式
在此系统中,每个人都在努力工作,但缺乏计划和明确的工作方向。在这个级别,质量很难衡量,因为存档的内容并非源于设计与规划,而仅仅是有动力的个体努力的结果。从技术上讲,分析师使用的工具是以基本的桌面为中心,并花费大量时间尝试在半兼容的工具之间管理和获取、交换数据。数据碎片化在此层面发生,每个在此环境中工作的团队都会创建自己的数据存储库。他们每次开始新项目时往往都从头开始。然而,由于这些流程是手动的、未定义的,执行起来可能需要付出巨大的努力。 -
级别2:结构化系统
结构化系统是相对于非结构化系统的更高一级。在此阶段,系统遵循高阶模式,但在整体模式周围表现出随机行为。处于此状态的组织试图在考虑全局需求的同时平衡局部选择。系统设定了约束条件,建立了职能和部门级策略,并且整个组织努力遵守这些策略。无意识的无知是此层级成功的关键障碍之一。此层级的数据以表格形式存在于网络中,支持数据共享。使用简单通用的桌面处理工具。流程定义较弱,员工的技能被应用于各种不同的流程之中。 -
级别3–5:迈向智能企业
结构化系统之上的层级是智能企业。此时,组织将商业分析视为其集成化的灵魂。智能企业达到这一阶段的层级完全是流程为中心的。智能企业在这三个层级上运作:团队、部门和企业层级。认识到商业分析是一个旅程,并且必须融入组织的所有职能和流程中,这是组织成功的关键。
2.6.3 智能分析
组织中存在的金字塔层级面临诸多挑战。高层管理即战略决策制定的层面,远离实际执行行动的现场。这种时间滞后导致决策延迟。战略决策对组织的各个其他层面都有重大影响。这些决策范围从资源分配到影响组织在市场营销中的竞争力。接下来是战术管理层级,中层管理者在此操作并影响市场营销、会计、生产等关键运营。其重点不在整个组织,且与上一层级相比,资源影响较小。运营管理所使用的事务处理系统处理结构化数据,提供运营级别的支持。图2.3展示了企业组织中不同管理层级及其数据使用情况。
2.7 数据分析技术
分析是指发现数据中的有意义模式,例如与销售、交易、收入相关的数据。大多数信息系统部署传统数据库工具用于关系型数据库,如结构化查询语言(SQL)。企业需要具备更广泛和更深入分析技能的数据专家,以应对数据管理、实时分析、实时预测分析以及包括安全和隐私在内的数据管理问题(米勒 2014)。负责数据提取和分析的数据工程师对传统关系型数据库以及非传统和NoSQL数据库(如Hadoop)有全面清晰的理解。这些工程师能够整合来自各种数据源的数据,并能够设计数据驱动服务。他们与处理数据的科学家协同工作。
为了应对大数据的发展趋势,近年来开发了各种工具、技术、方法和技术。当数据以巨大的规模产生时,企业便无法再依赖内部存储和处理,因为仅围绕中心数据库的“传统”技术已不再适合处理这些数据。
为了确定需要什么以及什么是合适的,需要回顾大数据处理需求(福森 2014)。这些需求可以描述如下:
- 高处理能力
- 高存储能力
- 可扩展性和对分布式处理的支持
- 容错处理能力
- 支持并行编程和处理范式
- 适当的平台和执行环境
2.7.1 Hadoop—大数据分析的底层技术
Apache Hadoop 是一个基于 Java 的软件平台,支持数据密集型分布式应用(菲利普·陈和张 2014)。它被设计用于避免在使用传统技术处理和分析大数据时遇到的低性能和复杂性问题(Oussous 等 2017)。Hadoop 平台用于分布式计算,并将数据及其处理分发到多台服务器上。Hadoop 所采用的范式是 MapReduce(图 2.4)。
核心部分Hadoop分布式文件系统(HDFS)和MapReduce,以及包括Apache Hive和Apache HBase在内的附加项目共同构成了Apache Hadoop。MapReduce模型用于编程和执行,能够处理并生成大规模数据集。MapReduce所使用的底层算法是分而治之。该算法通过递归地将一个复杂的高层问题分解为多个子问题来实现。这些子问题随后被分配到一组工作节点上,由这些节点分别并行求解。之后,将各个解合并以得到原问题的最终解。映射阶段和归约阶段是实现该算法的两个步骤。Hadoop运行的两种节点为主节点和工作节点。主节点的作用是接收输入,并将其划分为更小的子问题,再分发给工作节点。最后,主节点收集所有已分配子问题的解,并在归约阶段将其聚合以生成输出。
默认情况下,Hadoop 使用 Hadoop 分布式文件系统(HDFS)。Hadoop 也具备在其他文件系统上运行的能力。HDFS 使用存储集群阵列来保存实际数据。数据被存入 HDFS 后,可以在 Hadoop 内进行分析,也可以将数据导出到其他工具以执行分析。Hadoop 使用的模式包含三个阶段:
- 加载—将数据加载到HDFS
- 操作—Map和 Reduce子操作
- 检索—从HDFS检索结果
整个流程是一个批处理操作。这最适合分析性或非交互式任务。Hadoop 不能被称为数据仓库解决方案,也不是数据库,但它可以支持数据的分析流程。例如,Facebook 是遵循 Hadoop 模式的最流行应用。像 MySQL 这样的数据库存储数据,然后将这些数据复制到 Hadoop 中进行计算和分析(图 2.5)。
)
2.7.2 HBase
HBase它是Hadoop数据库,一种在Hadoop上运行的NoSQL数据库。它运行在Hadoop分布式文件系统(HDFS)上,提供可扩展性和实时数据访问。HBase以键值存储的形式提供数据,并结合MapReduce的分析能力。由于 HBase不是传统的关系型数据库结构,因此它采用不同的方法来建模数据。本文提出了一个用于HBase的四维数据模型。每个维度定义如下(Haines 2014),以下四个坐标定义了每个单元格(图 2.6):
- 行键 :HBase中的每一行都有一个唯一的键,称为行键。它是一个没有数据类型的字节数组。
- 列族 :行中的数据被组织成列族,每一行都具有相同的列族集合。HBase 将列族存储在其独立的数据文件中。对列族的任何修改都难以实施,因此需要谨慎定义。
- 列限定符 :实际的列被称为列限定符。在不同行之间,相同的列族不需要具有相同的列限定符。
- 版本 :每个列可关联可配置数量的版本。可以针对特定版本访问某个限定符的数据。
2.7.3 Hadoop在企业组织中的应用
Hadoop在企业组织中的使用可以通过以下示例来理解。一家公司的生产服务器存储了一个涉及公司结构和业务交易的数据集。该服务器支持将此数据集复制到分析引擎,例如Hadoop集群,以协助对该数据集进行分析。为了准备数据并将其复制以供分析使用,需要采用三个主要流程,即提取、转换和加载(ETL)过程。传统的ETL过程会消耗大量网络资源、处理能力和带宽。据指出,每个分析任务中约有80%的时间被ETL过程所占用。因此,传统的ETL可能导致分析任务相关的资源过度消耗和/或处理时间延长。
许多组织利用基于Hadoop的分析(Hortonworks 2013)将销售和服务等内部来源产生的数据与外部人口统计和社交媒体数据相结合。这些分析重点关注以下关键问题:
- 如何识别新的客户细分
- 如何个性化推荐
- 如何减少客户流失
基于Hadoop的分析还可以通过降低维护成本并提高资产密集型行业(如公用事业、石油和天然气以及工业制造)的资产利用率来帮助企业。机器生成数据以及内部生成的服务数据和外部数据可以被整合并用于预测分析。这些企业可以根据自身需求灵活管理维护周期。
基于Hadoop的分析如今广泛应用于各个行业。零售管理等应用利用这些技术进行选址、品牌分析、忠诚度计划、基于市场的分析以及产品的情感分析。金融服务机构利用Hadoop进行欺诈检测和风险评估。基于 Hadoop的分析被使用由政府机构用于与执法、公共交通、国家安全、健康和公共安全相关的应用(Hortonworks 2013)。
2.7.4 Apache Spark
它是一个可用于大数据处理的开源框架。该框架最初于2009年在加州大学伯克利分校的AMP实验室开发,随后于2010年作为Apache项目开源。
Spark的核心理念是提供一种内存抽象,以实现高效的数据共享。这种数据共享可跨越MapReduce作业的不同阶段,同时支持内存数据共享。它提供了一个全面且统一的框架,能够管理来自多种来源的数据集的大数据处理需求。这些来源包括实时数据流、批处理、在线网络来源数据等。Hadoop集群应用速度非常快,在内存中运行时可快达上百倍,在磁盘上运行时也可快达十倍(Shanahan和戴,2015年)。Apache Spark为企业组织提供了大数据的潜力与能力,并支持实时分析。
Spark生态系统
Apache Spark 是一个开源的集群计算系统。它包含用于高级数据分析的库和框架生态系统。Apache Spark 是一种功能强大且易于使用的工具,与 MapReduce 相比具有更高的生产效率。它还提供内存计算、更快的运行速度以及对分布式计算的支持。除了 Spark 核心API库之外,Spark 生态系统还包括其他一些库。这些库能够为大数据分析提供高级功能,如图2.7(Hightower 和 Maalouli 2015;Penchikala 2015)所示。
基础是整个生态系统构建的核心引擎。API 支持 Scala、Java、Python 和 R语言。提供额外计算能力的各类库如下:
- Spark流处理 :可用于处理基于微批处理模式(即将输入数据拆分为小批次)进行计算和处理的实时流数据。为了处理实时数据流,使用了DStream,它是一系列弹性分布式数据集(RDD)(扎哈里亚等2016)。
- Spark SQL :可通过Spark SQL在JDBC API之上运行来获取。借助传统的商业智能以及可视化工具,Spark SQL允许在大数据上运行类SQL查询。它还帮助用户从不同格式(如Parquet、JSON或数据库)中提取数据,对其进行转换,然后最终通过暴露以处理即席查询。
- Spark的机器学习库(MLlib) :包含有监督和无监督的机器学习算法,包括数据分类、数据聚类、线性与逻辑回归、协同过滤、数据降维以及优化原语(“使用Apache Spark进行大数据处理—第1部分:简介”,无日期)。
- Spark GraphX :为了计算图,使用Spark API中的 Spark GraphX组件。GraphX扩展了Spark的弹性分布式数据集(RDD)。它引入了弹性分布式属性图,这是一种带有属性的有向多重图,每个边和每个顶点都有关联的属性。GraphX还包括一系列图算法,用于简化图分析。
还有用于与其他产品集成的适配器,例如Cassandra(Spark Cassandra连接器)和R(SparkR)。Cassandra连接器允许Apache Spark访问存储在Cassandra数据库中的数据以进行数据分析。
2.8 大数据的挑战
随着大数据规模的增长以及分析的使用,许多挑战逐渐显现。这些挑战如下所述(萨拉瓦纳库马尔和南迪尼 2017):
-
规模——数据量
人们提出了新技术,以方便用户存储和查询大型数据集。然而,当今产生的数据量极为庞大,因此迫切需要具备新算法的新技术、新技术平台以及理解数据结构和商业价值的能力。为了应对这些挑战,需要具备跨学科专业知识的“数据科学家”。 -
大数据的接受
它涉及客户的动机,以认可大数据作为一种接受和采用新流程及系统的媒介或渠道。由于理解和掌握大数据与分析需要耗费时间,因此对其接受过程较为耗时。 -
理解分析
理解分析以减小规模并提升商业价值是一个主要挑战。这种情况的发生是因为需要建模的对象在性质上与当前常见的对象不同,它们体量庞大、结构复杂且分布广泛。为了应对这一挑战,需要采用简单、稳健、支持分布式和并行计算的建模与模拟技术。 -
数据采集
构成大数据的数据具有不同类型,它们可以是非结构化、半结构化或非结构化的。对于企业组织而言,捕获此类数据以进行分析也极具挑战性。 -
数据管理
在大数据时代,数据管理指与从多种来源收集的数据的组织和整合相关的流程和活动。由于软件需要处理高容量的复杂数据,数据管理变得尤为重要。它还包括数据标注、发布和展示。从技术上讲,数据管理指的是从感兴趣的大数据集中提取相关信息的流程。 -
数据可视化
数据可视化存在一个突出的问题。由于大数据体量巨大,用户在访问复杂信息和处理相关任务时,面临着显著的困难。为了应对这些挑战,需要审慎地使用系统软件。 -
性能和可扩展性
大数据系统的存储和处理在面临巨大体量时,主要关注点和挑战是性能和可扩展性。为了实现这一目标,可以采用过程分析来提升性能和可扩展性。 -
分布式存储
大数据存储依赖于分布式存储,因为海量数据只能在分布式平台上进行存储和访问。这些存储必须以技术性和智能化的方式进行管理,以确保数据随时可用。处理大数据的高容量和高速度也是一个巨大的挑战。安全 y动态数据的处理也带来了大量的挑战。 -
内容验证
互联网数据面临的另一个主要挑战是内容验证。大量数据源(如博客、社交网站、推文、评论)包含难以验证的信息。可以通过使用机器学习算法来提取和验证Web内容,从而执行自动验证。
2.9 结论和未来趋势
在过去的十年中,数据激增,变得越来越大,从太字节到拍字节再到艾字节。商业智能在过去几年中发生了革命性变化。云计算技术获得了最大程度的接受。企业依赖这种结构进行数据存储。然而,数据可以存储在称为数据湖的大型存储库中。与传统数据库所使用的数据不同,大数据由来自大量且多样化的数据源生成的非结构化、半结构化和结构化数据组成。当数据存储在稳定结构中时,被称为静态数据;而动态数据则是指处于传输过程中尚未到达存储库的数据。传统的数据结构存储退居次要地位,而大数据则通过可视化和交互式业务仪表板提供了可操作且富有洞察力的数据。
商业智能在2017年正处于全面繁荣阶段。2017年出现的趋势将在2018年继续延续,但还将出现分析领域的额外趋势。用于分析的采用策略将日益可定制化。企业组织面临的问题将类似于“目前可用的最佳解决方案是什么?”以及可以探索哪些商业机会。预计2018年的分析和商业智能趋势包括(勒比德 2017):将人工智能用于商业智能;使用分析工具——预测性和规范性;数据质量管理;多云战略部署;数据治理;自然语言处理;安全问题;首席数据官——角色与职责嵌入式协作式商业智能。

被折叠的 条评论
为什么被折叠?



