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

简介:

本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第1章,第1.2节,作者:文卡特·安卡姆(Venkat Ankam) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.2 大数据科学以及Hadoop和Spark在其中承担的角色

数据科学的工作体现在以下这两个方面:
从数据中提取其深层次的规律性
创建数据产品
要从数据中提取其深层次的规律性,意味着要使用统计算法提炼出有价值的信息。数据产品则是一种软件系统,其核心功能取决于对数据的统计分析和机器学习的应用。Google AdWords或Facebook里的“你可能认识的人”就是数据产品的两个例子。
1.2.1 从数据分析到数据科学的根本性转变
从数据分析到数据科学的根本转变的根源,是对更准确的预测和创建更好的数据产品需求的不断增长。
让我们来看一个示例,其中解释了数据分析和数据科学之间的差异。
问题:某大型电信公司有多个呼叫中心,负责收集呼叫者信息并将其存储在数据库和文件系统中。该公司已经对呼叫中心数据实施数据分析,提供了以下分析结果:
服务的可用性
平均应答速度、平均通话时间、平均等待时间和平均呼叫时间
呼叫的放弃率
首次呼叫解析率和每次通话的费用
座席占用情况
现在,该电信公司希望减少客户流失,改善客户体验,提高服务质量,并通过以接近实时的方式了解客户的情况,进行交叉销售和向上销售。
解决方案:分析客户的声音。客户的声音比任何其他信息都有更深刻的含义。我们可以使用CMU Sphinx等工具将所有呼叫转换为文本,并在Hadoop平台上进行扩展。我们可以进行文本分析以从数据中获取分析结果,获得高精确度的呼叫–文本转换,创建适合该公司的模型(语言和声学),并根据业务发生变化的频度,随时重新训练模型。此外,可以利用机器学习和自然语言处理(natural language processing,NLP)技术创建用于文本分析的模型,提供以下指标,合并到数据分析的指标里:
客户流失的主要原因
客户情感分析
客户和问题的划分
客户的 360 度视角
请注意,这个用例的业务需求产生了从数据分析到实现机器学习和NLP算法的数据科学的根本转变。为了实施这个解决方案,需要使用新的工具和技术,还需要一个新的角色:数据科学家。
数据科学家具备多种技能—统计、软件编程和业务专业知识。数据科学家能够创建数据产品,并从数据中提炼出价值。让我们来看看数据科学家与其他角色有什么不同。这会有助于我们理解在数据科学和数据分析项目中有哪些角色,以及他们要承担哪些工作。

  1. 数据科学家与软件工程师
    数据科学家和软件工程师角色之间的区别如下:

软件工程师根据业务需求,开发通用的应用软件
数据科学家不开发应用软件,但他们开发软件来帮助解决问题
通常,软件工程师使用Java、C++和C#等编程语言
数据科学家往往更重视像Python和R这样的脚本语言

  1. 数据科学家与数据分析师
    数据科学家和数据分析师角色之间的区别如下:

数据分析师使用SQL和脚本语言进行描述性及诊断性分析,从而创建报告和仪表板。
数据科学家使用统计技术和机器学习算法来进行预测性及规范性分析,从而找到答案。他们通常会使用诸如Python、R、SPSS、SAS、MLlib和GraphX之类的工具。

  1. 数据科学家与业务分析师
    数据科学家和业务分析师角色之间的区别如下:

两者都关注业务,因此他们可能会提出类似的问题
数据科学家具备找到答案所需的技术技能
1.2.2 典型数据科学项目的生命周期
让我们学习如何了解和执行典型的数据科学项目。
从图1-4中所示的典型数据科学项目的生命周期可以看出,数据科学项目的生命周期是迭代的,而如图1-3所示的数据分析项目的生命周期却不是迭代的。在对项目结果进行改善的情况下,定义问题和结果以及沟通这两个阶段没有包含在迭代中。然而,整个项目的生命周期是迭代式的,它需要在生产实施后不断地改进。
image

图1-4 数据科学项目的生命周期
在数据预处理阶段,定义问题和结果的步骤与数据分析项目类似,如图1-3所示。所以,让我们来讨论数据科学项目所需的新步骤。

  1. 假设和建模
    对于具体问题,要考虑所有能够和预期结果相匹配的可行解决方案。这通常涉及关于这个问题的根本原因的假设。这样,关于业务状况的问题就会浮现出来,例如为什么客户会取消服务,为什么支持电话会显著增加,以及为什么客户会放弃购物车。

如果我们对数据有更深入的理解,根据某个假设就可以确定合适的模型。这就关系到理解数据的属性及其相互关系,并通过定义用于测试、训练和生产的数据集来构建建模所需的环境。我们可以利用机器学习算法(如逻辑回归、K均值聚类、决策树或朴素贝叶斯等)来构建合适的模型。

  1. 衡量有效性
    模型的执行是通过针对数据集运行确定的模型来进行的。通过利用正确的输出对结果进行核对可以衡量模型的有效性。我们可以使用测试数据验证结果,并创建像均方差(Mean Squared Error,MSE)之类衡量有效性的指标。
  2. 做出改进
    从衡量结果可以看到需要改进的程度有多大。要考虑你会做出哪些改变。你可以问自己以下问题:

围绕问题的根本原因所做出的那些假设是否正确?
提取更多的数据集是否会产生更好的结果?
是否有其他解决方案能产生更好的结果?
一旦你实施了改进措施,就要对它们再次进行测试,并将它们与以前的衡量结果进行比较,以进一步改进解决方案。

  1. 交流结果
    针对结果的交流是数据科学项目生命周期中的重要一步。数据科学家描述数据中的发现的方式是把这些发现和业务问题关联起来。报表和仪表板是交流结果的常用工具。

1.2.3 Hadoop和Spark 承担的角色
Apache Hadoop为你提供了分布式存储和资源管理功能,而Spark为你提供了数据科学应用程序所需的内存级性能。对于数据科学项目来说,Hadoop和Spark有以下的优点:
广泛的应用和第三方组件包
一个便于使用的机器学习算法库
Spark 能够和深度学习库(如 H2O和TensorFlow)集成
可以利用 Scala、Python和R的shell进行交互式分析
统一的特性—可以把SQL、机器学习和流式传输一起使用

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
3月前
|
机器学习/深度学习 SQL 分布式计算
Apache Spark 的基本概念和在大数据分析中的应用
介绍 Apache Spark 的基本概念和在大数据分析中的应用
159 0
|
12天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
3月前
|
机器学习/深度学习 SQL 分布式计算
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
介绍 Apache Spark 的基本概念和在大数据分析中的应用。
|
1月前
|
算法 大数据 数据挖掘
python数据分析——大数据伦理风险分析
大数据伦理风险分析在当前数字化快速发展的背景下显得尤为重要。随着大数据技术的广泛应用,企业、政府以及个人都在不断地产生、收集和分析海量数据。然而,这些数据的利用也带来了诸多伦理风险,如隐私泄露、数据滥用、算法偏见等。因此,对大数据伦理风险进行深入分析,并采取相应的防范措施,对于保障数据安全、维护社会公平正义具有重要意义。
51 0
|
1月前
|
存储 大数据 数据挖掘
python数据分析——大数据和云计算
大数据和云计算作为当代信息技术的两大核心驱动力,正在以前所未有的速度改变着我们的生活、工作和思维方式。它们不仅为各行各业的创新提供了强大的技术支持,更是推动了整个社会的数字化转型。 从大数据的角度来看,它的核心价值在于通过对海量数据的收集、存储、分析和挖掘,发现其中的关联性和趋势,从而为决策提供更为科学、精准的依据。无论是商业领域的市场预测、消费者行为分析,还是公共服务领域的城市规划、交通管理,大数据都发挥着不可或缺的作用。同时,随着物联网、传感器等技术的普及,大数据的来源和种类也在不断扩展,这使得我们能够更全面地认识世界,把握规律。
47 0
|
2月前
|
分布式计算 大数据 Java
Spark 大数据实战:基于 RDD 的大数据处理分析
Spark 大数据实战:基于 RDD 的大数据处理分析
121 0
|
3月前
|
分布式计算 监控 大数据
Spark RDD分区和数据分布:优化大数据处理
Spark RDD分区和数据分布:优化大数据处理
|
3月前
|
SQL 分布式计算 Hadoop
Spark与Hadoop的关系和区别
Spark与Hadoop的关系和区别
|
3月前
|
分布式计算 Hadoop 数据处理
Spark与Hadoop的区别是什么?请举例说明。
Spark与Hadoop的区别是什么?请举例说明。
53 0