【问题标题】:can't understand how does scala operation functions in Apache spark无法理解 Scala 操作在 Apache spark 中的作用
【发布时间】:2019-11-17 09:27:57
【问题描述】:

大家好,

所以我开始学习 Apache Spark 架构,并了解数据流如何在更高级别工作。

我了解到,Spark 作业在具有要在 RDDS 上运行的任务的阶段上工作,在这些阶段中,它们是通过从 Spark 控制台开始的惰性转换创建的。 (如果我错了,请纠正我)

我没明白:

  • Spark 中还有其他类型的数据结构:Data Frame 和 Dataset,并且有函数可以操作它们,

    那么这些功能与应用于 RDD 的任务之间有什么关系?

  • 使用 Scala 编码对 RDD 进行操作,据我所知,这是逻辑,还有其他类型的数据结构,我可以对它们进行操作并操作它们,如列表、流、向量等......所以我的问题是

    如果这些操作没有应用在 RDDS 上,spark 如何执行这些操作呢?

  • 我参考官方文档估计了每种算法在任何类型的 Scala 数据结构上运行的时间复杂度,但我找不到 RDDS 上操作的时间复杂度的估计值,例如 count( ) 或 ReduceKey() 应用于 RDDS。

    为什么我们不能准确评估 Spark-app 的复杂性,是否可以评估基本任务的复杂性?

更正式地说,什么是 RDDS,它们与 Spark 中的一切有什么关系

如果有人能向我澄清这种混乱的信息,我将不胜感激。

【问题讨论】:

    标签: scala apache-spark time rdd operation


    【解决方案1】:

    那么这些功能与应用于 RDD 的任务之间有什么关系? DataFrames、Datasets 和 RDD 是 Spark 的三个 API。查看this link

    如果这些操作没有应用在 RDDS 上,spark 如何执行这些操作? RDD是结构化数据结构,Spark指定的Actions and Transformation可以应用在RDD上。在 RDD 操作或转换中,我们确实应用了一些 scala 原生操作。每个 Spark API 都有自己的集合操作。阅读前面所示的链接,以更好地了解如何在操作中实现并行性

    为什么我们不能准确评估 Spark-app 的复杂性,是否可以评估基本任务的复杂性?

    这篇文章解释了 Map Reduce Complexity https://web.stanford.edu/~ashishg/papers/mapreducecomplexity.pdf

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-01
      • 1970-01-01
      • 2022-08-07
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 2017-05-31
      相关资源
      最近更新 更多