当前位置: 首页 > 知识库问答 >
问题:

Spark中RDD和Dataframe的区别是什么

鄢子平
2023-03-14

我浏览了一下Spark中RDD和Dataframe的链接有什么区别?

>

我们可以在spark上运行Pandas、numpy数据帧功能吗。对于numpy,np。像df这样的熊猫在哪里和在哪里。分组依据[“”]。agg()

共有1个答案

姜森
2023-03-14

对于结构化数据,您不需要使用RDD。您可以将Dataframe或Dataset用于Scala和Java。对于Python,您需要使用Dataframe。请参阅官方指南。

对于非结构化数据,您仍然需要使用RDD。

Dataframe通常提供最快的性能(根据Mathei的书)。

dataframe语法(使用Spark SQL)可以支持几乎所有类似SQL的函数。您也可以使用熊猫,请参阅熊猫指南。

考拉项目支持在Spark上使用panda的语法。比起熊猫,我更喜欢用这个。这是考拉指南。

 类似资料:
  • 嗨,我对apache spark比较陌生。我想了解RDD、dataframe和数据集之间的区别。 例如,我从s3存储桶中提取数据。 在这种情况下,当我从s3加载数据时,什么是RDD?另外,由于RDD是不可变的,所以我可以更改df的值,使df不能是RDD。 如果有人能解释RDD、数据帧和数据集之间的区别,我将不胜感激。

  • 在Apache Spark中,这些API之间有什么区别?为什么以及什么时候我们应该选择其中一个?

  • 我仍在努力理解最近推出的Spark数据集的全部功能。 是否有关于何时使用RDD和何时使用数据集的最佳实践? Databricks在他们的公告中解释说,通过使用数据集,可以实现运行时和内存的惊人减少。尽管如此,据称数据集的设计“与现有RDD API协同工作”。 这仅仅是对向下兼容性的引用,还是有人更愿意在数据集上使用RDD的场景?

  • 我在读spark教科书,我看到了转换和动作,我又读了rdd函数,所以我很困惑,谁能解释一下转换和spark rdd函数之间的基本区别呢。 两者都用于更改rdd数据内容并返回一个新的rdd,但我想知道确切的解释。

  • 定义如下: RDD是不可变的分布式对象集合 我不太明白这是什么意思。它像存储在硬盘上的数据(分区对象)吗?如果是这样,那么RDD为什么可以有用户定义的类(如java、scala或python) 通过此链接:https://www.safaribooksonline.com/library/view/learning-spark/9781449359034/ch03.html它提到: 用户通过两种方

  • 我开始阅读《Spark权威指南大数据处理变得简单》一书,学习Spark。当我阅读时,我看到一句话:“DataFrame是最常见的结构化API,它只是用行和列表示一个数据表。”我无法理解为什么RDD和数据帧被称为API?