首页   快速返回

Spark SQL 进化史     所属分类 spark
1 spark 1.0.0 Spark SQL

Spark SQL 模块核心实际上是一种新类型的RDD SchemaRDD。SchemaRDD是类型为ROW的RDD,
同时又包含了一个描述每一列数据类型的schema信息。类似于传统数据库的一张表。
SchemaRDD可以从已有的RDD创建,可以是Parquet文件,json数据集或则HiveQL生成。

2 Spark 1.2.0 ML机器学习库

Ml机器学习库基于SchemaRDD,之后的版本基于Dataframe,可以直接与Spark SQL交互。

3 Spark 1.3.0 Dataframe

将SchemaRDD重命名为了DataFrame,不再继承自RDD,而是自己维护和实现功能函数。
DataFrame 调用rdd方法 转化为RDD

4 spark 1.6.0 Dataset和SparkSession

增加Dataset,类似RDD,在享受Spark SQL执行引擎性能优化的同时允许用户使用自定义对象和lambda函数。
引入了SparkSession,会话管理功能,允许不同用户在使用不同配置和临时表的情况下共享统一的集群。

5 Spark 2.0.0 Strcutured Streaming

  统一 Dataset 和Dataframe API
  Dataset[Row]代替Dataframe
  SparkSession 完全替换 SQLContext和HiveContext。
  
  增加 Structured Streaming,这个是Spark 流处理发展的主要方向,
  底层基于Spark SQL 和 Catalyst 优化器,让用户像使用静态Dataset开发离线处理任务一样使用流Dataset开发流处理业务,
  依赖于Catalyst 优化器自动增量的查询计划。
  
  逐步废弃基于RDD的mllib机器学习库,着重发展基于DataFrame的ml库。
  
  Spark Core是Spark SQL的基石。

  Spark SQL和Structured Streaming处理的是结构化数据,非结构化数据需要Spark Core和Spark Streaming进行解析处理。
  
  Structured Streaming 功能还不够完善,限制比较多

上一篇     下一篇
flink快速入门

flink web控制台介绍

Netty和Akka的区别

spring cloud 核心组件介绍

tcp知识点整理

技术文章合集1