【学习】一文读懂大数据(上)

2018-04-18 17:30:17 浏览数 (1)

这是一本小书而不是一篇文章,因为它详实细致的让你从一个完全不了解大数据技术及相关应用的门外汉,变成一个熟知其概念和意义的“内行人”,所以它很棒! 主要内容 ·1来自Wikibon社区的大数据宣言 ·2数据处理与分析:传统方式 ·3大数据性质的变化 ·4大数据处理和分析的新方法 4.1Hadoop 4.2NoSQL 4.3大规模并行分析数据库 ·5大数据方法的互补 ·6大数据供应商发展状况 ·7大数据:实际使用案例 ·8大数据技能差距 ·9大数据:企业和供应商的下一步动作 为公司提供有效的业务分析工具和技术是首席信息官的首要任务。有效的业务分析(从基本报告到高级的数据挖掘和预测分析)使得数据分析人员和业务人员都可以从数据中获得见解,当这些见解转化为行动,会给公司带来更高的效率和盈利能力。 所有业务分析都是基于数据的。传统意义上,这意味着企业自己创建和存储的结构化数据,如CRM系统中的客户数据,ERP系统中的运营数据,以及会计数据库中的财务数据。得益于社交媒体和网络服务(如Facebook,Twitter),数据传感器以及网络设备,机器和人类产生的网上交易,以及其他来源的非结构化和半结构化的数据的普及,企业现有数据的体积和类型以及为追求最大商业价值而产生的近实时分析的需求正在迅速增加。我们称这些为大数据。 传统的数据管理和业务分析工具及技术都面临大数据的压力,与此同时帮助企业获得来自大数据分析见解的新方法不断涌现。这些新方法采取一种完全不同于传统工具和技术的方式进行数据处理、分析和应用。这些新方法包括开源框架hadoop,NoSQL数据库(如Cassandra和Accumulo)以及大规模并行分析数据库(如EMC的Greenplum,惠普的Vertica和TeradataASTERData)。这意味着,企业也需要从技术和文化两个角度重新思考他们对待业务分析的方式。 对于大多数企业而言,这种转变并不容易,但对于接受转变并将大数据作为业务分析实践基石的企业来说,他们会拥有远远超过胆小对手的显著竞争优势。大数据助力复杂的业务分析可能为企业带来前所未有的关于客户行为以及动荡的市场环境的深入洞察,使得他们能够更快速的做出数据驱动业务的决策,从而比竞争对手更有效率。 从存储及支持大数据处理的服务器端技术到为终端用户带来鲜活的新见解的前端数据可视化工具,大数据的出现也为硬件、软件和服务供应商提供了显著的机会。这些帮助企业过渡到大数据实践者的供应商,无论是提供增加商业价值的大数据用例,还是发展让大数据变为现实的技术和服务,都将得到茁壮成长。

大数据是所有行业新的权威的竞争优势。认为大数据是昙花一现的企业和技术供应商很快就会发现自己需要很辛苦才能跟上那些提前思考的竞争对手的步伐。在我们看来,他们是非常危险的。对于那些理解并拥抱大数据现实的企业,新创新,高灵活性,以及高盈利能力的可能性几乎是无止境的。

数据处理和分析:传统方式 传统上,为了特定分析目的进行的数据处理都是基于相当静态的蓝图。通过常规的业务流程,企业通过CRM、ERP和财务系统等应用程序,创建基于稳定数据模型的结构化数据。数据集成工具用于从企业应用程序和事务型数据库中提取、转换和加载数据到一个临时区域,在这个临时区域进行数据质量检查和数据标准化,数据最终被模式化到整齐的行和表。这种模型化和清洗过的数据被加载到企业级数据仓库。这个过程会周期性发生,如每天或每周,有时会更频繁。

在传统数据仓库中,数据仓库管理员创建计划,定期计算仓库中的标准化数据,并将产生的报告分配到各业务部门。他们还为管理人员创建仪表板和其他功能有限的可视化工具。 同时,业务分析师利用数据分析工具在数据仓库进行高级分析,或者通常情况下,由于数据量的限制,将样本数据导入到本地数据库中。非专业用户通过前端的商业智能工具(SAP的BusinessObjects和IBM的Cognos)对数据仓库进行基础的数据可视化和有限的分析。传统数据仓库的数据量很少超过几TB,因为大容量的数据会占用数据仓库资源并且降低性能。 大数据性质的变化 Web、移动设备和其他技术的出现导致数据性质的根本性变化。大数据具有重要而独特的特性,这种特性使得它与“传统”企业数据区分开来。不再集中化、高度结构化并且易于管理,与以往任何时候相比,现在的数据都是高度分散的、结构松散(如果存在结构的话)并且体积越来越大。 具体来说: ·体积-通过Web、移动设备、IT基础设施和其他来源产生的企业内部和防火墙外的数据量每年都在成倍增加。 ·类型-数据类型的多样性增加,包括非结构化文本数据以及半结构化数据(如社交媒体数据,基于位置的数据和日志文件数据)。 ·速度-得益于数字化交易、移动计算以及互联网和移动设备的高用户量,新数据被创建的速度以及实时分析的需求正在增加。 广义地说,大数据由多个来源产生,包括: ·社交网络和媒体:目前有超过7亿Facebook用户,2.5亿Twitter用户和1.56亿面向公众开放的博客。Facebook上的每个更新、Tweet和博客上文章的发布及评论都会创建多个新的数据点(包含结构化、半结构化和非结构化的),这些数据点有时被称为“数据废气”。 ·移动设备:全球有超过50亿正在使用中的移动电话。每次呼叫、短信和即时消息都被记录为数据。移动设备(尤其是智能手机和平板电脑)让使用社交媒体等应用程序更容易,而社会媒体的使用会产生大量数据。移动设备也收集和传送位置数据。 ·网上交易:数十亿的网上购物、股票交易等每天都在发生,包括无数的自动交易。每次交易都产生了大量数据点,这些数据点会被零售商、银行、信用卡、信贷机构和其他机构收集。 ·网络设备和传感器:各种类型的电子设备(包括服务器和其他IT硬件、智能电表和温度传感器)都会创建半结构化的日志数据记录每一个动作。

从时间或成本效益上看,传统的数据仓库等数据管理工具都无法实现大数据的处理和分析工作。也就是说,必须将数据组织成关系表(整齐的行和列数据),传统的企业级数据仓库才可以处理。由于需要的时间和人力成本,对海量的非结构化数据应用这种结构是不切实际的。此外,扩展传统的企业级数据仓库使其适应潜在的PB级数据需要在新的专用硬件上投资巨额资金。而由于数据加载这一个瓶颈,传统数据仓库性能也会受到影响。 因此,需要处理和分析大数据的新方法。 大数据处理和分析的新方法 存在多种方法处理和分析大数据,但多数都有一些共同的特点。即他们利用硬件的优势,使用扩展的、并行的处理技术,采用非关系型数据存储处理非结构化和半结构化数据,并对大数据运用高级分析和数据可视化技术,向终端用户传达见解。 Wikibon已经确定了三种将会改变业务分析和数据管理市场的大数据方法。 Hadoop Hadoop是一个处理、存储和分析海量的分布式、非结构化数据的开源框架。最初由雅虎的Doug Cutting创建,Hadoop的灵感来自于 MapReduce ,MapReduce是谷歌在2000年代初期开发的用于网页索引的用户定义函数。它被设计用来处理分布在多个并行节点的PB级和EB级数据。 Hadoop集群运行在廉价的商用硬件上,这样硬件扩展就不存在资金压力。Hadoop现在是Apache软件联盟(The Apache Software Foundation)的一个项目,数百名贡献者不断改进其核心技术。基本概念:与将海量数据限定在一台机器运行的方式不同,Hadoop将大数据分成多个部分,这样每个部分都可以被同时处理和分析。 Hadoop如何工作 客户从日志文件、社交媒体供稿和内部数据存储等来源获得非结构化和半结构化数据。它将数据打碎成“部分”,这些“部分”被载入到商用硬件的多个节点组成的文件系统。Hadoop的默认文件存储系统是Hadoop分布式文件系统。文件系统(如HDFS)善于存储大量非结构化和半结构化数据,因为它们不需要将数据组织成关系型的行和列。 各“部分”被复制多次,并加载到文件系统。这样,如果一个节点失效,另一个节点包含失效节点数据的副本。名称节点充当调解人,负责沟通信息:如哪些节点是可用的,某些数据存储在集群的什么地方,以及哪些节点失效。 一旦数据被加载到集群中,它就准备好通过MapReduce 框架进行分析。客户提交一个“匹配”的任务( 通常是用Java编写的查询语句)给到一个被称为作业跟踪器的节点。该作业跟踪器引用名称节点,以确定完成工作需要访问哪些数据,以及所需的数据在集群的存储位置。一旦确定,作业跟踪器向相关节点提交查询。每个节点同时、并行处理,而非将所有数据集中到一个位置处理。这是Hadoop的一个本质特征。 当每个节点处理完指定的作业,它会存储结果。客户通过任务追踪器启动“Reduce”任务。汇总map阶段存储在各个节点上的结果数据,获得原始查询的“答案”,然后将“答案”加载到集群的另一个节点中。客户就可以访问这些可以载入多种分析环境进行分析的结果了。MapReduce 的工作就完成了。 一旦MapReduce 阶段完成,数据科学家和其他人就可以使用高级数据分析技巧对处理后的数据进一步分析。也可以对这些数据建模,将数据从Hadoop集群转移到现有的关系型数据库、数据仓库等传统IT系统进行进一步的分析。

Hadoop的技术组件 Hadoop “栈”由多个组件组成。包括: · Hadoop分布式文件系统(HDFS):所有Hadoop集群的默认存储层; · 名称节点:在Hadoop集群中,提供数据存储位置以及节点失效信息的节点。 · 二级节点:名称节点的备份,它会定期复制和存储名称节点的数据,以防名称节点失效。 · 作业跟踪器:Hadoop集群中发起和协调MapReduce作业或数据处理任务的节点。 · 从节点:Hadoop集群的普通节点,从节点存储数据并且从作业跟踪器那里获取数据处理指令。 除了上述以外,Hadoop生态系统还包括许多免费子项目。NoSQL数据存储系统(如Cassandra和HBase)也被用于存储Hadoop的MapReduce作业结果。除了Java,很多 MapReduce 作业及其他Hadoop的功能都是用Pig语言写的,Pig是专门针对Hadoop设计的开源语言。Hive最初是由Facebook开发的开源数据仓库,可以在Hadoop中建立分析模型。 Hadoop:优点和缺点 Hadoop的主要好处是,它可以让企业以节省成本并高效的方式处理和分析大量的非结构化和半结构化数据,而这类数据迄今还没有其他处理方式。因为Hadoop集群可以扩展到PB级甚至EB级数据,企业不再必须依赖于样本数据集,而可以处理和分析所有相关数据。数据科学家可以采用迭代的方法进行分析,不断改进和测试查询语句,从而发现以前未知的见解。使用Hadoop的成本也很廉价。开发者可以免费下载Apache的Hadoop 分布式平台,并且在不到一天的时间内开始体验Hadoop。 Hadoop及其无数组件的不足之处是,他们还不成熟,仍处于发展阶段。就像所有新的、原始的技术一样,实施和管理Hadoop集群,对大量非结构化数据进行高级分析,都需要大量的专业知识、技能和培训。不幸的是,目前Hadoop开发者和数据科学家的缺乏,使得众多企业维持复杂的Hadoop集群并利用其优势变得很不现实。此外,由于Hadoop的众多组件都是通过技术社区得到改善,并且新的组件不断被创建,因此作为不成熟的开源技术,也存在失败的风险。最后,Hadoop是一个面向批处理的框架,这意味着它不支持实时的数据处理和分析。 好消息是,一些聪明的IT人士不断对Apache Hadoop项目做出贡献,新一代的Hadoop开发者和数据科学家们正在走向成熟。因此,该技术的发展日新月异,逐渐变得更加强大而且更易于实施和管理。供应商(包括Hadoop的初创企业Cloudera和Hortonworks)以及成熟的IT中坚企业(如IBM和微软)正在努力开发企业可用的商业Hadoop分布式平台、工具和服务,让部署和管理这项技术成为传统企业可用的实际现实。其他初创企业正在努力完善NoSQL(不仅仅是SQL)数据系统,结合Hadoop提供近实时的分析解决方案。

0 人点赞