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

Spark中DataFrame、Dataset和RDD之间的差异

严远
2023-03-14

我只是想知道Apache Spark中的RDDDataFrame之间有什么区别(Spark 2.0.0 DataFrame只是DataSet[Row])的类型别名?

你能把一个转换成另一个吗?

共有1个答案

季炯
2023-03-14

dataframe可以通过google搜索“dataframe definition”进行很好的定义:

数据帧是一个表,或类似二维数组的结构,其中每列包含一个变量上的度量值,每行包含一个大小写。

因此,dataframe由于其表格格式而具有额外的元数据,这允许Spark对最终完成的查询运行某些优化。

另一方面,RDD仅仅是一个弹性分布式数据集,它更多地是一个数据黑箱,无法优化,因为可以对其执行的操作不受约束。

但是,您可以通过其RDD方法从DataFrame转到RDD,也可以通过todf方法从RDD转到DataFrame(如果RDD是表格格式的

由于内置的查询优化,通常建议在可能的情况下使用dataframe

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

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

  • 我来自Java背景,刚接触Scala。 我正在使用Scala和Spark。但是我不明白我在哪里使用和。 有人能告诉我在哪种情况下我需要使用这两个操作符吗?和之间有什么区别吗?

  • 本文向大家介绍spark: RDD与DataFrame之间的相互转换方法,包括了spark: RDD与DataFrame之间的相互转换方法的使用技巧和注意事项,需要的朋友参考一下 DataFrame是一个组织成命名列的数据集。它在概念上等同于关系数据库中的表或R/Python中的数据框架,但其经过了优化。DataFrames可以从各种各样的源构建,例如:结构化数据文件,Hive中的表,外部数据库或

  • 问题内容: 我正在尝试将Spark RDD转换为DataFrame。我已经看到了将方案传递给函数的文档和示例 。 但是我有38列或字段,并且这将进一步增加。如果我手动给出指定每个字段信息的架构,那将是一件非常繁琐的工作。 还有其他方法可以指定模式,而无需事先了解各列的信息。 问题答案: 看到, 在Spark中有两种将RDD转换为DF的方法。 和 我将向您展示如何动态地做到这一点。 toDF() 该