《Spark与Hadoop大数据分析》——1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色

1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色

传统的数据分析使用关系型数据库管理系统(Relational Database Management System,RDBMS)的数据库来创建数据仓库和数据集市,以便使用商业智能工具进行分析。RDBMS 数据库采用的是写时模式(Schema-on-Write)的方法,而这种方法有许多缺点。

传统数据仓库的设计思想是用于提取、转换和加载(Extract, Transform, and Load,ETL)数据,据此回答与用户需求直接相关的一组预先定义的问题。这些预先定义的问题是利用 SQL 查询来回答的。一旦数据以易于访问的(consumable)格式进行转换和加载,用户就可以通过各种工具和应用程序访问它,从而生成报告和仪表板。但是,以易于访问的格式创建数据需要几个步骤,如下所示:

(1)确定预先定义的问题。

(2)从数据源系统识别和收集数据。

(3)创建 ETL 流水线,把数据以易于访问的格式加载到分析型数据库里。

如果有了新的问题,系统就需要识别和添加新的数据源并创建新的ETL流水线。这涉及数据库中的模式更改,实施工作通常会持续1~6个月。这是一个很重大的约束,迫使数据分析人员只能在预定义的范围内进行操作。

将数据转换为易于访问的格式通常会导致丢失原始/原子数据,而这些数据可能含有我们正在寻找的答案的结论或线索。

处理结构化和非结构化数据是传统数据仓库系统中的另一个挑战。有效地存储和处理大型二进制图像或视频也总是有挑战性的。

大数据分析是不使用关系数据库的;相反,它通常借助Hive和HBase在Hadoop平台上使用读取模式(Schema-on-Read,SOR)方法 。这种方法有许多优点。图1-2比较了 Schema-on-Write和Schema-on-Read 的场景。

读取模式方法为系统带来了灵活性和可重用性。读取模式的范例强调以原始的、未修改的格式存储数据,并且通常在读取或处理数据时,会根据需要将某个模式应用于数据。这种方法让存储数据的数量和类型具有更大的灵活性。同一组原始数据可以应用多个模式,以提出各种问题。如果需要回答新问题,只需获取新数据并将其存储在HDFS的一个新目录中,就可以开始回答新问题了。

这种方法还为使用多种方法和工具访问数据提供了巨大的灵活性。例如,可以使用 SQL分析工具或Spark中的复杂Python或R脚本来分析同一组原始数据。由于我们并不会把数据存储在ETL所需的多个层中,因此可以降低存储成本和数据转移成本。非结构化和结构化的数据源都可以和结构化的数据源一起进行分析。

1.1.1 典型大数据分析项目的生命周期

使用大数据平台(如 Hadoop)进行大数据分析的生命周期与传统的数据分析项目类似。不过,大数据分析有个根本的格局转变,那就是使用读取模式方法进行数据分析。

一个大数据分析项目涉及的活动如图1-3所示。

1. 识别问题和结果

首先要明确项目的业务问题和期望的结果,以便确定需要哪些数据,可以进行哪些分析。业务问题的一些示例是公司销售额下降、客户访问了网站但没有购买产品、客户放弃了购物车、支持电话热线呼叫量的突然增加等。而项目成果的一些示例是把购买率提高 10%、将购物车放弃率降低50%、在下一季度让支持电话量减少50%的同时保持客户满意度。

2. 识别必要的数据

要确定数据的质量、数量、格式和来源。数据源可以是数据仓库(OLAP)、应用程序数据库(OLTP)、来自服务器的日志文件、来自互联网的文档,以及从传感器和网络集线器生成的数据。要识别所有内部和外部数据源的需求。此外,要确定数据匿名化和重新进行身份信息处理的要求,以删除或掩盖个人身份信息(personally identifiable information,PII)。

3. 数据收集

我们可以使用Sqoop工具从关系数据库收集数据,并使用Flume来对数据进行流式传输。我们还可以考虑使用Apache Kafka来实现可靠的中间存储。在设计和收集数据的时候,还要考虑容错的情况。

4. 预处理数据和ETL

我们得到的数据会有不同的格式,也可能有数据质量问题。预处理步骤的作用是把数据转换为所需的格式,或清理不一致、无效或损坏的数据。一旦数据符合所需的格式,就可以启动执行分析阶段的工作。Apache Hive、Apache Pig和Spark SQL都是对海量数据进行预处理的优秀工具。

在某些项目中,如果数据已经具备了整洁的格式,或者分析过程是使用读取模式(Schema-on-Read)方法直接针对源数据进行的,那可能就不需要这个步骤了。

5. 进行分析

我们进行分析的目的是回答业务方面的问题。这就需要了解数据以及数据点之间的关系。进行分析的类型有描述性和诊断性分析,得到的是数据的过去和当前视图。它通常回答的是像 “发生了什么事情?”和“为什么发生?”这样的一些问题。在某些情况下也会进行预测分析,它回答的问题是,基于某个假设会发生什么情况,诸如此类。

Apache Hive、Pig、Impala、Drill、Tez、Apache Spark和HBase都是在批处理模式下进行数据分析的优秀工具。而Impala、Tez、Drill和Spark SQL等实时分析工具可以集成到传统的商业智能工具(Tableau、Qlikview等)里,用于交互式分析。

6. 数据可视化

数据可视化是把分析结果以图像或图形格式来呈现,以便更好地理解分析结果,并根据这些数据做出业务决策。

通常,我们可以使用Sqoop将最终数据从Hadoop导出到RDBMS数据库,以便集成到可视化系统中;也可以把可视化系统直接集成到Tableau、Qlikview、Excel这些工具中。基于Web的笔记本(如 Jupyter、Zeppelin和Databricks cloud等)也可以通过和Hadoop及 Spark组件进行集成,用于实现数据的可视化。

1.1.2 Hadoop和Spark承担的角色

Hadoop和Spark为你提供了大数据分析的极大灵活性:

时间: 2024-12-14 09:36:11

《Spark与Hadoop大数据分析》——1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色的相关文章

《Spark与Hadoop大数据分析》一一1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色

1.1 大数据分析以及 Hadoop 和 Spark 在其中承担的角色 传统的数据分析使用关系型数据库管理系统(Relational Database Management System,RDBMS)的数据库来创建数据仓库和数据集市,以便使用商业智能工具进行分析.RDBMS 数据库采用的是写时模式(Schema-on-Write)的方法,而这种方法有许多缺点.传统数据仓库的设计思想是用于提取.转换和加载(Extract, Transform, and Load,ETL)数据,据此回答与用户需求直

《Spark与Hadoop大数据分析》一一1.2 大数据科学以及Hadoop和Spark在其中承担的角色

1.2 大数据科学以及Hadoop和Spark在其中承担的角色 数据科学的工作体现在以下这两个方面:从数据中提取其深层次的规律性创建数据产品要从数据中提取其深层次的规律性,意味着要使用统计算法提炼出有价值的信息.数据产品则是一种软件系统,其核心功能取决于对数据的统计分析和机器学习的应用.Google AdWords或Facebook里的"你可能认识的人"就是数据产品的两个例子.1.2.1 从数据分析到数据科学的根本性转变 从数据分析到数据科学的根本转变的根源,是对更准确的预测和创建更好

《Spark与Hadoop大数据分析》——1.2 大数据科学以及Hadoop和Spark在其中承担的角色

1.2 大数据科学以及Hadoop和Spark在其中承担的角色 数据科学的工作体现在以下这两个方面: 要从数据中提取其深层次的规律性,意味着要使用统计算法提炼出有价值的信息.数据产品则是一种软件系统,其核心功能取决于对数据的统计分析和机器学习的应用.Google AdWords或Facebook里的"你可能认识的人"就是数据产品的两个例子. 1.2.1 从数据分析到数据科学的根本性转变 从数据分析到数据科学的根本转变的根源,是对更准确的预测和创建更好的数据产品需求的不断增长. 让我们来

如何让Hadoop结合R语言做大数据分析?

为什么要让Hadoop结合R语言? R语言和Hadoop让我们体会到了,两种技术在各自领域的强大.很多http://www.aliyun.com/zixun/aggregation/7155.html">开发人员在计算机的角度,都会提出下面2个问题.问题1: Hadoop的家族如此之强大,为什么还要结合R语言? 问题2: Mahout同样可以做数据挖掘和机器学习,和R语言的区别是什么?下面我尝试着做一个解答:问题1: Hadoop的家族如此之强大,为什么还要结合R语言? a. Hadoop

面向Hadoop的Hunk将推进大数据分析变革

信息要点: 1.实时运营信息软件供应商Splunk日前宣布推出Hunk: Splunk Analytics for Hadoop,Hunk是一个功能完备.面向Hadoop的综合性分析平台,能够让企业组织中的每个人都能交互式探索.分析并可视化Hadoop中的历史数据. 2.Hunk正在转变企业组织分析Hadoop中数据的方式.借助Hunk,可运用Splunk十年来与6, 000多家客户合作所得到的经验来应对遇到的挑战. 3.Hunk让所有人都能快速.轻松地从Hadoop中的原始.非结构化及多结构化

大数据领域开源技术,除了 Hadoop 你还知道哪些?

众所周知,大数据正在以惊人的速度增长,几乎触及各行各业,许多组织都被迫寻找新的创造性方法来管理和控制如此庞大的数据,当然这么做的目的不只是管理和控制数据,而是要分析和挖掘其中的价值,来促进业务的发展. 想要深入发展大数据,闭门造车是不可能的,共通共融是现在趋势,因此,开源让越来越多的项目可以直接采用大数据技术.如今,从小型初创企业到行业巨头,各种规模的供应商都在使用开源来处理大数据和运行预测分析.借助开源与云计算技术,新兴公司甚至在很多方面都可以与大厂商抗衡. 开源大数据的优势不言而喻,但在众多

对话Hadoop之父Doug Cutting|大数据和开源的未来

前言 对中国大数据产业来说,2016年是从垂直领域野蛮生长到爆发全国范围关注热潮的一个转折点.不论是人山人海巨头云集的贵阳数博会,还是首次在华举办的全球顶级大数据会议Strata + Hadoop World,都揭示了中国大数据产业发展的澎湃动力. 在Hadoop生态领域,Cloudera是规模最大.知名度最高的企业,也是当前大数据领域最强有力的解决方案服务商之一.带着对中国大数据市场的满满诚意,Cloudera创始人.董事长兼首席战略官Mike Olson以及Hadoop之父.Cloudera

十八款Hadoop工具帮你驯服大数据

Hadoop已经通过自身的蓬勃发展证明,它不仅仅是一套用于将工作内容传播到计算机群组当中的小型堆栈--不,这与它的潜能相比简直微不足道.这套核心的价值已经被广泛证实,目前大量项目如雨后春笋般围绕它建立起来.有些项目负责数据管理.有些负责流程监控.还有一些则提供先进的数据存储机制. Hadoop业界正在迅速发展,从业企业拿出的解决方案也多种多样,其中包括提供技术支持.在托管集群中提供按时租用服务.为这套开源核心开发先进的功能强化或者将自有工具添加到方案组合当中. 在今天的文章中,我们将一同了解当下

十八款Hadoop工具帮你驯服大数据作业

文章讲的是十八款Hadoop工具帮你驯服大数据作业,Hadoop已经通过自身的蓬勃发展证明,它不仅仅是一套用于将工作内容传播到计算机群组当中的小型堆栈--不,这与它的潜能相比简直微不足道.这套核心的价值已经被广泛证实,目前大量项目如雨后春笋般围绕它建立起来.有些项目负责数据管理.有些负责流程监控.还有一些则提供先进的数据存储机制. Hadoop业界正在迅速发展,从业企业拿出的解决方案也多种多样,其中包括提供技术支持.在托管集群中提供按时租用服务.为这套开源核心开发先进的功能强化或者将自有工具添加