Spark2.3.1 API Dataset

Spark 2.3.1 中的 Dataset API 深入解析
本文介绍了Spark 2.3.1中Dataset的概念,它作为强类型集合,支持函数和关系型操作。DataFrame是Dataset[Row]的实例,转化操作是延迟执行的,由Spark Catalyst Optimizer进行优化。Encoder负责对象到内部类型系统的映射,优化内存管理和计算。主要功能包括基本操作、行动操作、类型转换、无类型转换和流处理。

org.apache.spark.sql.Dataset

1 强类型集合

2 对象可以做函数操作或者关系型操作

3 DataFrame是Row类型的Dataset,即Dataset[Row]

4 转化操作生成新的Dataset,行动操作执行计算并生成结果,是lazy的,只有行动操作才会触发计算

5 Spark Catalyst Optimizer优化计算,将logical plan以并行,分布式的方式优化为optimized physical plan,在Spark SQL Engine上执行,使用explain(true)展开查看execution plan

6 使用Encoder类将对象映射到Spark internal type system,在runtime将对象序列化为binary structure,做内存优化和数据处理优化,使用shcema方法查看数据的internal binary presentation

方法分为6种类型

BasicDatasetFunctions

Actions

Typed transformations

Untyped transformations

Streaming

Ungrouped


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值