第43课:Spark 2.0编程实战之SparkSession、DataFrame、DataSet开发实战

本文聚焦Spark 2.0编程,探讨SparkSession、DataFrame和DataSet的使用。讲解了SQL的无类型特性,DataFrame的弱类型特点,以及DataSet的强类型要求,强调了在编译时期确保数据类型的准确性。
摘要由CSDN通过智能技术生成

第43课:Spark 2.0编程实战之SparkSession、DataFrame、DataSet开发实战

 

2017年5月份左右,老师个人认为需要等到Spark 2.2版本

 

DataSet背后会被Tungsten优化,而这里面会采用Whole-Stage Code Generation的技术,所以出错的时候定位错误和调优非常困难
例如for循环翻译成了自己的方式,出错的话,错误信息定位就非常困难,生产环境面临错误和调优,搞不定了还是要用RDD
因此 ,RDD是万能的 基于rdd的spark core是王道

 

SQL是无类型的
DataFrame是弱类型的
DataSet是强类型的

 

 SQL是无类型的:例如写的sql语法,数据类型是否对,列存在不存在在编写sql语句的时候判定不出来,只有运行的时候才发现是什么问题.

 DataFrame是弱类型的:相当于DataSet[Row],DataFrame其实就是一张表,如在表中声明一些列,但实际运行中其中一些列不存在值,是弱耦合的.

 DataSet是强类型的:必须严格声明,而且类型要匹配,在编译时期就决定了数据类型是不是准确.

 

DataFrame其实是一张表
DataFrame -》DataSet[Row]
as[U : Encod

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

段智华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值