使用函数式概念来处理分布在集群上的大数据在工业界非常流行,可以说这是函数式思想在工业界的首次广泛应用。MapReduce 和 Hadoop,以及最近用 Scala 编写的快速、内存分布式集合框架 Apache Spark 的流行就证明了这一点。在本课程中,我们将了解如何使用 Spark 将数据并行范式扩展到分布式情况。我们将详细介绍 Spark 的编程模型,仔细了解它与我们熟悉的编程模型(如共享内存并行集合或顺序 Scala 集合)的不同之处和不同时间。通过 Spark 和 Scala 中的实践示例,我们将了解何时应考虑延迟和网络通信等与分布相关的重要问题,以及如何有效解决这些问题以提高性能。 学习成果。本课程结束时,您将能够:- 从持久化存储中读取数据并将其加载到 Apache Spark 中,- 使用 Spark 和 Scala 操作数据,- 以函数式风格表达数据分析算法,- 认识如何在 Spark 中避免洗牌和重新计算:您应该至少有一年的编程经验。熟练掌握 Java 或 C# 是理想的选择,但熟练掌握其他语言(如 C/C++、Python、Javascript 或 Ruby)也足够了。您应该熟悉使用命令行。本课程适合在《并行编程:https://hua.dididi.sbs/learn/parprog1》之后学习。请注意,本版本课程使用的是 Scala 2.13。您可以在这里找到使用 Scala 3 的最新版本课程:https://hua.dididi.sbs/learn/scala-spark-big-data。
了解顶级公司的员工如何掌握热门技能

该课程共有4个模块
在您的计算机上运行 Scala。完成示例作业,熟悉我们独特的作业提交方式。本周,我们将弥合共享内存场景(在并行编程课程中学到的先决条件)和分布式场景中数据并行性之间的差距。我们将探讨分布式系统中出现的重要问题,如延迟和故障。我们将继续讲解 Spark 的基础知识,这是一个面向功能的 Scala 大数据处理框架。在第一周结束时,我们将立即动手分析真实世界的数据集,以实践我们所学到的 Spark 知识。
涵盖的内容
7个视频6篇阅读材料3个编程作业
本周,我们将学习一种特殊的 RDD--配对 RDD。有了这种特殊的 RDD,我们将学习大型数据集的基本操作,如还原和连接。
涵盖的内容
4个视频2个编程作业
本周我们将探讨使用连接等操作对性能的影响。是否有可能不用支付在网络上移动数据的开销就能获得相同的结果?为了回答这个问题,我们将深入研究如何对数据进行分区,以实现更好的数据本地性,进而优化我们的一些 Spark 作业。
涵盖的内容
4个视频
有了对 Spark 作业中数据移动成本的新认识,以及上周针对数据本地性优化作业的一些经验,本周我们将重点讨论如何更轻松地实现类似的优化。结构化数据能帮助我们吗?我们将了解 Spark SQL 及其强大的优化器,该优化器使用结构来进行令人印象深刻的优化。接下来,我们将介绍数据框(DataFrames)和数据集(Datasets),它们为我们提供了一种将 RDD 与 Spark SQL 强大的自动优化功能相结合的方法。
涵盖的内容
5个视频2个编程作业
位教师

从 算法 浏览更多内容
- 状态:免费试用
École Polytechnique Fédérale de Lausanne
人们为什么选择 Coursera 来帮助自己实现职业发展




常见问题
要获取课程资料、作业和证书,您需要在注册课程时购买证书体验。 您可以尝试免费试听,或申请资助。课程可能提供 "完整课程,无证书"。通过该选项,您可以查看所有课程资料,提交必要的评估,并获得最终成绩。这也意味着您无法购买证书体验。
购买证书后,您就可以访问所有课程资料,包括已评分的作业。完成课程后,您的电子证书将添加到您的 "成就 "页面--您可以从那里打印证书或将其添加到您的 LinkedIn 个人资料中。
是的。在特定的学习课程中,如果您付不起注册费,可以申请助学金或奖学金。如果您选择的学习课程有助学金或奖学金,您可以在说明页面找到申请链接。
更多问题
提供助学金,