Spark简介系列02

结构化API指哪三类核心分布式结合类型?

Dataset类型、DataFrame类型、SQL表和视图

结构化API包含哪两类API?

非类型化的DataFrame和类型化的Dataset

DataFrame如何保证数据规范?

DataFrame的类型校验由Spark维护,仅在运行时检查这些类型是否与Schema定义的类型一致。

Dataset的类型检查在编译时还是运行时?

在编译时检查类型是否符合规范

Dataset仅适用于基于JVM的语言,对吗?

对的,例如Scala通过case类、Java通过Java beans指定类型

DataFrame和Dataset的联系?

DataFrame的本质就是Row类型的Dataset集合,即Dataset

DataFrame的优势体现在哪里?

DataFrame无类型,而又以Row为类型,通过Schema来映射数据,本质是为了优化基于内存计算这种模式。DataFrame使用自己内部格式维护数据,避开了“类型”带来的垃圾回收开销和对象实例化开销,节省空间的同时,提升了基于内存的计算效率。

不同编程语言,在基于DataFrame的API开发出来的应用程序具有相同的效率,对吗?

对的

结构化代码到执行代码的转换路径?

DataFrame、Dataset、SQL代码>>逻辑执行计划>>物理执行计划>>执行物理执行计划(RDD操作)

生成逻辑执行计划的过程?

生成未解析逻辑计划>>分析catalog>>解析后的逻辑计划>>Catalyst优化>>优化后的逻辑执行计划

生成物理执行计划的过程?

生成物理执行策略>>代价模型分析>>选择最佳物理执行计划>>一系列RDD的转化操作

 

你可能感兴趣的:(Spark简介,spark)