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

来源:互联网 发布:网络空间安全战略 编辑:程序博客网 时间:2024/06/02 03:49

第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 : Encoder]

 

作业

Spark第二代钨丝计划的之所以运行速度快的原因是什么

 

 

 

 

 

 

 

 

0 0
原创粉丝点击