开发者社区> 问答> 正文

DataFrame 和 RDD 最大的区别?

DataFrame 和 RDD 最大的区别:

A.科学统计支持

B.多了 schema

C.存储方式不一样

D.外部数据源支持

展开
收起
茶什i 2019-10-28 14:56:29 4303 0
2 条回答
写回答
取消 提交回答
  • 下一站是幸福

    RDD API是函数式的,强调不变性,在大部分场景下倾向于创建新对象而不是修改老对象。这一特点虽然带来了干净整洁的API,却也使得Spark应用程序在运行期倾向于创建大量临时对象,对GC造成压力。在现有RDD API的基础之上,我们固然可以利用mapPartitions方法来重载RDD单个分片内的数据创建方式,用复用可变对象的方式来减小对象分配和GC的开销,但这牺牲了代码的可读性,而且要求开发者对Spark运行时机制有一定的了解,门槛较高。另一方面,Spark SQL在框架内部已经在各种可能的情况下尽量重用对象,这样做虽然在内部会打破了不变性,但在将数据返回给用户时,还会重新转为不可变数据。利用 DataFrame API进行开发,可以免费地享受到这些优化效果。

    2020-08-21 12:28:39
    赞同 展开评论 打赏
  • B.多了 schema

    2019-10-28 16:22:41
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Adopting Dataframes and Parque 立即下载
PyODPS架构以及DataFrame实现原理 立即下载
低代码开发师(初级)实战教程 立即下载