《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 
相关文章
|
29天前
|
存储 分布式计算 Hadoop
大数据处理架构Hadoop
【4月更文挑战第10天】Hadoop是开源的分布式计算框架,核心包括MapReduce和HDFS,用于海量数据的存储和计算。具备高可靠性、高扩展性、高效率和低成本优势,但存在低延迟访问、小文件存储和多用户写入等问题。运行模式有单机、伪分布式和分布式。NameNode管理文件系统,DataNode存储数据并处理请求。Hadoop为大数据处理提供高效可靠的解决方案。
57 2
|
29天前
|
分布式计算 Hadoop 大数据
大数据技术与Python:结合Spark和Hadoop进行分布式计算
【4月更文挑战第12天】本文介绍了大数据技术及其4V特性,阐述了Hadoop和Spark在大数据处理中的作用。Hadoop提供分布式文件系统和MapReduce,Spark则为内存计算提供快速处理能力。通过Python结合Spark和Hadoop,可在分布式环境中进行数据处理和分析。文章详细讲解了如何配置Python环境、安装Spark和Hadoop,以及使用Python编写和提交代码到集群进行计算。掌握这些技能有助于应对大数据挑战。
|
3天前
|
分布式计算 资源调度 Hadoop
java与大数据:Hadoop与MapReduce
java与大数据:Hadoop与MapReduce
22 0
|
13天前
|
存储 分布式计算 Hadoop
【专栏】Hadoop,开源大数据处理框架:驭服数据洪流的利器
【4月更文挑战第28天】Hadoop,开源大数据处理框架,由Hadoop Common、HDFS、YARN和MapReduce组成,提供大规模数据存储和并行处理。其优势在于可扩展性、容错性、高性能、灵活性及社区支持。然而,数据安全、处理速度、系统复杂性和技能短缺是挑战。通过加强安全措施、结合Spark、自动化工具和培训,Hadoop在应对大数据问题中保持关键地位。
|
15天前
|
新零售 分布式计算 数据可视化
数据分享|基于Python、Hadoop零售交易数据的Spark数据处理与Echarts可视化分析
数据分享|基于Python、Hadoop零售交易数据的Spark数据处理与Echarts可视化分析
|
17天前
|
分布式计算 Hadoop 大数据
[大数据] mac 史上最简单 hadoop 安装过程
[大数据] mac 史上最简单 hadoop 安装过程
|
12天前
|
分布式计算 大数据 BI
MaxCompute产品使用合集之MaxCompute项目的数据是否可以被接入到阿里云的Quick BI中
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
12天前
|
SQL 分布式计算 大数据
MaxCompute产品使用合集之怎样可以将大数据计算MaxCompute表的数据可以导出为本地文件
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
12天前
|
分布式计算 DataWorks 关系型数据库
MaxCompute产品使用合集之可以使用什么方法将MySQL的数据实时同步到MaxCompute
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
11天前
|
分布式计算 DataWorks 数据库
DataWorks操作报错合集之DataWorks使用数据集成整库全增量同步oceanbase数据到odps的时候,遇到报错,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
24 0