【大数据学习】之 SparkSQL DataFrame、DataSet的概述

根据官网介绍DataFrame、DataSet:

Dataset 是一个分布式的数据集合。是spark1.6版本才出来的。它提供RDD中的有点(强类型、lambda表达式、优化SparkSQL执行引擎)。DataFrame中能用的东西大部分在DataSet都能用。DataSet能够通过JVM对象构建出来。DataSet能使用函数表达式(map、flatmap、filter等等)。DataSet API能在Java和Scala中使用。python暂不支持。在Scala API中,DataFrame可以等于DataSet[Row],DataFrame = Dataset[Row]。

DataFrame是一个以列(列名、列的类型、列值)的形式构成的分布式数据集。它在概念上等同于关系数据库中的表或R / Python中的数据框,但在底层具有更丰富的优化。DataFrame可以从多种来源构建,例如:结构化数据文件(json)、hive中的表、其他外部数据源(mysql、no sql)、已经存在的RDD。DataFrame APIScalaJavaPythonR可用。在ScalaJava中,DataFrameRow的数据集表示。在Scala APIDataFrame它只是一个类型别名Dataset[Row]。而在Java API,用户需要使用Dataset<Row>来表示DataFrame

Spark 1.3 版本之前是称呼SchemaRDD的,之后才有的DataFrame;其实SchemaRDD不就是把一个Schema作用在RDD之上嘛,其实本质上和DataFrame没有区别。

在1.3版本出来了DataFrame

在1.6版本出来了DataSet

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值