第43课:Spark 2.0编程实战之SparkSession、DataFrame、DataSet开发实战
2023-09-27 14:26:47 时间
第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第二代钨丝计划的之所以运行速度快的原因是什么
相关文章
- 学习ASP.NET Core Razor 编程系列十——添加新字段
- 《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南(二)
- 《Spark 官方文档》Spark SQL, DataFrames 以及 Datasets 编程指南(四)
- Java并发编程之CAS
- 《树莓派Python编程入门与实战》——1.8 总结
- 《Python密码学编程》——导读
- 《HTML5游戏编程核心技术与实战》一2.8 小结
- 《第三方JavaScript编程》——第1章 第三方JavaScript介绍 1.1 第三方JavaScript的定义
- SwiftUI 代码速查之 09 NavigationView和switch组合 编程控制界面显示
- Linux Shell脚本编程while语句案例
- JavaScript是如何工作的:事件循环和异步编程的崛起 + 5种使用 async/await 更好地编码方式!
- Spark Streaming的编程模型
- VS2010/MFC编程入门之十二(对话框:非模态对话框的创建及显示)
- 编程参考 - C++使用hashmap