该存储库包含我提交的 Coursera MOOC 大数据分析(使用 Scala 和 Spark)作业,该作业由洛桑联邦理工学院 (EPFL) 提供,由 Heather C. Miller 教授授课。
使用功能概念来操作分布在集群上的大数据在工业中非常普遍,并且可以说是功能思想最先广泛的工业用途之一。 MapReduce 和 Hadoop 的流行以及最近的 Apache Spark(一种用 Scala 编写的快速内存分布式集合框架)就证明了这一点。在本课程中,我们将了解如何使用 Spark 将数据并行范例扩展到分布式案例。我们将详细介绍 Spark 的编程模型,仔细了解它与熟悉的编程模型(例如共享内存并行集合或顺序 Scala 集合)的不同之处以及不同之处。通过 Spark 和 Scala 中的实践示例,我们将了解何时应考虑与分布相关的重要问题(例如延迟和网络通信)以及如何有效解决这些问题以提高性能。
学习成果。在本课程结束时,您将能够:
推荐背景:您应该具有至少一年的编程经验。熟练掌握 Java 或 C# 是理想的选择,但具有 C/C++、Python、Javascript 或 Ruby 等其他语言的经验也足够了。您应该熟悉命令行的使用。本课程旨在在并行编程之后学习:https://www.coursera.org/learn/parprog1。
开始日期: 2022 年 1 月 4 日
完成日期: 2022 年 1 月 10 日
周:1
课程:使用 Scala REPL、使用 SBT 工具
描述:“此作业的目标是熟悉本课程所需的基础设施和工具。尽管此作业中的成绩将不包括在您的课程最终成绩中,但完成此作业仍然很重要小心。”
年级: 10 / 10
周:1
课程:Spark 的 RDD 基础知识
描述:“在这项作业中,我们将使用维基百科的全文数据来生成编程语言流行程度的基本指标,以了解我们基于维基百科的排名是否与流行的 Red Monk 有任何关系排名。”
年级: 10 / 10
周:2(为期两周的作业)
课程:归约运算和分布式键值对
描述:“本次作业的总体目标是实现一种分布式 k 均值算法,该算法根据得分对热门问答平台 StackOverflow 上的帖子进行聚类。此外,这种聚类应该针对不同的编程语言并行执行,并且应该对结果进行比较。”
年级: 10 / 10
周:4
课程:SQL、数据框和数据集
描述:“我们的目标是确定三组活动:主要需求(睡眠和饮食)、工作、其他(休闲)。然后观察人们如何在这三类活动之间分配时间,以及我们是否可以看到男性和女性、就业者和失业者、年轻人(22 岁以下)、活跃人士(22 岁至 55 岁)和老年人之间的差异。”
年级: 10 / 10
必须解压缩资源文件才能使代码正常工作。