最常见的 PySpark 面试问题和答案 [对于新人和有经验的人]
已发表: 2021-07-14参加 PySpark 面试并想知道您将经历哪些问题和讨论? 在参加 PySpark 面试之前,最好先了解将要问的 PySpark 面试问题的类型,以便您可以在心理上为这些问题准备答案。
为了帮助您,我创建了顶级 PySpark 面试问题和答案指南,以了解 PySpark 面试问题的深度和真实意图。 让我们开始吧。
顾名思义,PySpark 是 Apache Spark 和 Python 编程语言的集成。 Apache Spark 是一个广泛使用的开源框架,用于集群计算,旨在提供易于使用和更快的体验。 Python 是一种高级通用编程语言。 除了许多其他用途外,它主要用于数据科学、机器学习和实时流分析。
最初,Apache spark 是用 Scala 编程语言编写的,而 PySpark 实际上是 Apache Spark 的 Python API。 在本文中,我们将简要介绍 PySpark 面试中最常见的问题及其答案,以帮助您为下一次面试做好准备。 如果您是初学者并且有兴趣了解有关数据科学的更多信息,请查看我们来自顶尖大学的数据分析认证。
阅读: Apache PySpark 中的数据框
资源
PySpark 面试问答
1. 什么是 PySpark?
这几乎总是您将面临的第一个 PySpark 面试问题。
PySpark 是 Spark 的 Python API。 它用于提供 Spark 和 Python 之间的协作。 PySpark 专注于处理结构化和半结构化数据集,并提供从具有不同数据格式的多个源读取数据的工具。 除了这些特性,我们还可以使用 PySpark 与 RDD(弹性分布式数据集)交互。 所有这些功能都是使用 py4j 库实现的。
2.列出PySpark的优缺点? ( PySpark 面试常见问题)
使用 PySpark 的优点是:
- 使用 PySpark,我们可以以非常简单的方式编写并行化代码。
- 所有的节点和网络都是抽象的。
- PySpark 处理所有错误以及同步错误。
- PySpark 包含许多有用的内置算法。
使用 PySpark 的缺点是:
- PySpark 通常会使以 MapReduce 方式表达问题变得困难。
- 与其他编程语言相比,PySpark 效率不高。
3. PySpark 支持的各种算法有哪些?
PySpark 支持的不同算法有:
- 火花.mllib
- mllib.clustering
- mllib.classification
- mllib.regression
- mllib.recommendation
- mllib.linalg
- mllib.fpm
4. 什么是 PySpark SparkContext?
PySpark SparkContext 可以看作是进入和使用任何 Spark 功能的初始点。 SparkContext 使用 py4j 库来启动 JVM,然后创建 JavaSparkContext。 默认情况下,SparkContext 以“sc”的形式提供。
5. 什么是 PySpark SparkFiles?
最常见的 PySpark 面试问题之一。 PySpark SparkFiles 用于在 Apache Spark 应用程序上加载我们的文件。 它是 SparkContext 下的函数之一,可以使用 sc.addFile 调用以加载 Apache Spark 上的文件。 SparkFIles 还可用于使用 SparkFile.get 获取路径或解析从 sc.addFile 添加的文件的路径。 SparkFiles 目录中的类方法是 getrootdirectory() 和 get(filename)。
阅读: Spark 项目创意
6. 什么是 PySpark SparkConf?
PySpark SparkConf 主要用于设置我们要在本地或集群上运行应用程序时的配置和参数。
每当我们想运行 SparkConf 时,我们都会运行以下代码:
类 pyspark.Sparkconf(
localdefaults =真,
_jvm = 无,
_jconf = 无
)
7. PySpark StorageLevel 是什么?
PySpark StorageLevel 用于控制 RDD 的存储方式,决定 RDD 的存储位置(在内存上或磁盘上或两者兼有),以及我们是否需要复制 RDD 分区或序列化 RDD。 StorageLevel 的代码如下:
pyspark.StorageLevel 类(useDisk,useMemory,useOfHeap,反序列化,复制 = 1)
8. PySpark SparkJobinfo 是什么?
PySpark 面试中最常见的问题之一。 PySpark SparkJobinfo 用于获取有关正在执行的 SparkJobs 的信息。 SparkJobInfo 的使用代码如下:
类 SparkJobInfo(namedtuple(“SparkJobInfo”, “jobId stageIds status”)):
9. PySpark SparkStageinfo 是什么?
PySpark 面试问答指南中最常见的问题之一。 PySpark SparkStageInfo 用于获取有关当时存在的 SparkStage 的信息。 SparkStageInfo 使用的代码如下:
类 SparkStageInfo(namedtuple(“SparkStageInfo”,“stageId currentAttemptId name numTasks unumActiveTasks”“numCompletedTasks numFailedTasks”)):
另请阅读:印度的 Apache Spark 开发人员薪水
结论
我们希望您完成所有常见的PySpark 面试问题。 Apache Spark 主要用于处理大数据,并且随着公司继续使用最新技术来推动他们的业务,其需求量非常大。
如果您有兴趣学习 python 并想亲身体验各种工具和库,请查看数据科学中的 Executive PG Program。
如果您想在行业层面详细学习大数据,upGrad为您提供了一个机会,可以参加他们的软件开发 PG 文凭和大数据专业。 请查看他的课程,以便向最优秀的院士和行业领袖学习,以提升您在该领域的职业生涯。
从世界顶级大学在线学习数据科学课程。 获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。