【问题标题】:what's the difference and relation between local R data frame and SparkR data frame and RDD [closed]本地R数据帧和SparkR数据帧和RDD有什么区别和关系[关闭]
【发布时间】:2016-08-02 08:55:24
【问题描述】:

我是 Spark 的新手,现在我正在使用 SparkR 运行一些 ML 算法。我经常对本地 R 数据框和 SparkR 数据框感到困惑。本地 R 数据框和 SparkR 数据框有什么区别?他们之间是什么关系?它们和RDD有什么关系?

提前致谢。

【问题讨论】:

    标签: r apache-spark machine-learning


    【解决方案1】:

    RDD 的行为与数据帧不同。 RDD 存在于管道中,其中每个都是前一个的迭代,每次您对其应用函数时。每次迭代都不会单独存储在内存中,只是作为最后一次的迭代存在,其中 RDD 只知道使它到达它所在位置的函数。粗略地说,您必须对 lambda 函数等采取函数式方法,而 for 循环之类的操作不适用于 RDD。通过以这种方式存储数据,Spark 比更老式的 map-reduce 包要快得多。

    与本地帧相比,SparkR 数据帧也将具有不同的可用功能。我假设(因为这是 pyspark 数据帧和本地 pandas 数据帧的情况),用于附加新列并将新数据帧保存到磁盘的函数不同。例如,对于 pyspark 数据帧,您可以使用 withColumn() 函数来添加列,而不是更传统的 python。因此,一般而言,您通常在本地框架上使用的某些功能不适用于 SparkR 框架,因为 SparkR 框架大多仅限于 spark 库。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-13
      • 2014-04-20
      • 1970-01-01
      • 1970-01-01
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多