了解Spark SQL,DataFrame和数据集

关于Datasets和DataFrame API存在很多混淆,因此在本文中,我们将了解Spark SQL,DataFrames和Datasets。

Spark SQL

它是一个用于结构化数据处理的Spark模块,它允许您编写更少的代码来完成工作,并且在底层,它可以智能地执行优化。Spark SQL模块由两个主要部分组成。我们将仅讨论本文的第一部分,它是结构API的表示,称为DataFrames和Datasets,它们定义了用于处理结构化数据的高级API。

Spark SQL模块的一个很酷的功能是能够执行SQL查询来执行数据处理,查询的结果将作为数据集或数据框返回。Spark SQL模块可以轻松读取数据并从以下任何格式写入数据; CSV,XML和JSON以及二进制数据的常见格式是Avro,Parquet和ORC。

DataFrames

数据框是一个分布式的数据集合,它按行组织,每行包含一组列,每列都有一个名称和一个关联的类型。换句话说,这个分​​布式数据集合具有由模式定义的结构。您可以将它视为关系数据库中的表,但在引擎盖下,它具有更丰富的优化。

与RDD一样,DataFrame提供两种类型的操作:转换和操作

对转换进行了延迟评估,并且热切地评估了操作。

创建DataFrame

有几种方法可以创建DataFrame; 其中一个常见的事情是需要隐式或显式地提供模式。

以下代码将完全使用Spark 2.x和Scala 2.11

从RDD创建DataFrame

val  rdd  =  sc。并行化(1 10)。map(x  =>(x,x  *  x))
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值