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

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

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

数据科学的工作体现在以下这两个方面:

image

要从数据中提取其深层次的规律性,意味着要使用统计算法提炼出有价值的信息。数据产品则是一种软件系统,其核心功能取决于对数据的统计分析和机器学习的应用。Google AdWords或Facebook里的“你可能认识的人”就是数据产品的两个例子。

1.2.1 从数据分析到数据科学的根本性转变

从数据分析到数据科学的根本转变的根源,是对更准确的预测和创建更好的数据产品需求的不断增长。

让我们来看一个示例,其中解释了数据分析和数据科学之间的差异。

问题:某大型电信公司有多个呼叫中心,负责收集呼叫者信息并将其存储在数据库和文件系统中。该公司已经对呼叫中心数据实施数据分析,提供了以下分析结果:

image

现在,该电信公司希望减少客户流失,改善客户体验,提高服务质量,并通过以接近实时的方式了解客户的情况,进行交叉销售和向上销售。

解决方案:分析客户的声音。客户的声音比任何其他信息都有更深刻的含义。我们可以使用CMU Sphinx等工具将所有呼叫转换为文本,并在Hadoop平台上进行扩展。我们可以进行文本分析以从数据中获取分析结果,获得高精确度的呼叫–文本转换,创建适合该公司的模型(语言和声学),并根据业务发生变化的频度,随时重新训练模型。此外,可以利用机器学习和自然语言处理(natural language processing,NLP)技术创建用于文本分析的模型,提供以下指标,合并到数据分析的指标里:

image

请注意,这个用例的业务需求产生了从数据分析到实现机器学习和NLP算法的数据科学的根本转变。为了实施这个解决方案,需要使用新的工具和技术,还需要一个新的角色:数据科学家。

数据科学家具备多种技能—统计、软件编程和业务专业知识。数据科学家能够创建数据产品,并从数据中提炼出价值。让我们来看看数据科学家与其他角色有什么不同。这会有助于我们理解在数据科学和数据分析项目中有哪些角色,以及他们要承担哪些工作。

1. 数据科学家与软件工程师

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

image

2. 数据科学家与数据分析师

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

image

3. 数据科学家与业务分析师

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

image

1.2.2 典型数据科学项目的生命周期

让我们学习如何了解和执行典型的数据科学项目。

从图1-4中所示的典型数据科学项目的生命周期可以看出,数据科学项目的生命周期是迭代的,而如图1-3所示的数据分析项目的生命周期却不是迭代的。在对项目结果进行改善的情况下,定义问题和结果以及沟通这两个阶段没有包含在迭代中。然而,整个项目的生命周期是迭代式的,它需要在生产实施后不断地改进。

image

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

1. 假设和建模

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

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

2. 衡量有效性

模型的执行是通过针对数据集运行确定的模型来进行的。通过利用正确的输出对结果进行核对可以衡量模型的有效性。我们可以使用测试数据验证结果,并创建像均方差(Mean Squared Error,MSE)之类衡量有效性的指标。

3. 做出改进

从衡量结果可以看到需要改进的程度有多大。要考虑你会做出哪些改变。你可以问自己以下问题:

image

一旦你实施了改进措施,就要对它们再次进行测试,并将它们与以前的衡量结果进行比较,以进一步改进解决方案。

4. 交流结果

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

1.2.3 Hadoop和Spark 承担的角色

Apache Hadoop为你提供了分布式存储和资源管理功能,而Spark为你提供了数据科学应用程序所需的内存级性能。对于数据科学项目来说,Hadoop和Spark有以下的优点:

image

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
相关文章
|
10月前
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
471 0
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
1118 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
619 79
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
674 2
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
575 1
|
分布式计算 Hadoop Spark
《Spark与Hadoop大数据分析》——3.7 小结
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第3章,第3.7节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1270 0
|
分布式计算 资源调度 Hadoop
《Spark与Hadoop大数据分析》——3.6 Spark 资源管理器:Standalone、YARN和Mesos
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第3章,第3.6节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
2941 0
|
存储 缓存 分布式计算
《Spark与Hadoop大数据分析》——3.5 持久化与缓存
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第3章,第3.5节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1380 0
|
分布式计算 Java Shell
《Spark与Hadoop大数据分析》——3.4 Spark 应用程序
本节书摘来自华章计算机《Spark与Hadoop大数据分析》一书中的第3章,第3.4节,作者 [美]文卡特·安卡姆(Venkat Ankam),译 吴今朝,更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1534 0