第4章 Spark SQL概述

4-1 课程目录

Spark SQL前世今生 SQL on Hadoop常用框架介绍

Spark SQL概述 Spark SQL愿景

Spark SQL架构

 

4-2 -Spark SQL前世今生

为什么使用SQL

1)事实上的标准 2)简单易用 3)受众面大

文本文件统计分析

id,name,age,city

1001,zhangsan,45,beijing

1002,kusu,39,shanghai

1003,wangwu,34,tianjin

........

table定义:person

column定义

id:int

name:string

age:int

city:string

hive: load data

sql:query...

Hive:类似于sql的hive QL语言,sql==>mapreduce

特点:mapreduce

改进:hive on tez,hive on spark, hive on mareduce

Shark:hive on spark==>shark(hive on spark)

shark推出:欢迎,基于spark,基于内存的列式存储,与hive能够兼容

缺点:hql ql的解析 、逻辑执行计划生成、执行计划的优化是依赖于hive的,仅仅只是把物理执行计划从mr作业替换成spark作业。

第4章 Spark SQL概述

Shark终止以后,产生了2个分支

1)hive on spark

hive社区,源码在hive中

2)spark sql

spark社区,源码在spark中

支持多种数据源,多种优化技术,扩展性很好

 

4-3 -SQL on Hadoop常用框架介绍

第4章 Spark SQL概述

1)hive

SQL==》mapreduce

metastore:元数据

sql:database,table,view

facebook

2)impala

cloudera:cdh(建议大家在生产环境使用hadoop系列版本)、cm

sql:自己的守护进程执行的,非mr

3)presto

facebook

京东

sql

4)drill

sql

访问:hdfs ,rebms,json,hbase,mangodb,s3,hive

5)spark sql

sql

dataframe/dataset api

metastore

访问:hdfs ,rebms,json,hbase,mangodb,s3,hive

 

4-4 -Spark SQL概述

 

官网:https://spark.apache.org/sql/

 

第4章 Spark SQL概述

第4章 Spark SQL概述

第4章 Spark SQL概述

第4章 Spark SQL概述

Spark SQL is Apache Spark's module for working with structured data.

 

 

Spark sql它不仅仅是访问或者操作sql功能,还提供了其他丰富的操作,外部数据源,优化

Spark SQl概述小结

1)spark sql 的应用并不局限于sql

2)访问hive,json,parquet等文件的数据

3)SQL只是spark SQL的一个功能而已

==》spark SQL这个名字并不恰当

4)spark SQL提供了SQL的api,dateframe和dataset的api

4-5 -Spark SQL愿景

第4章 Spark SQL概述

4-6 -Spark SQL架构

第4章 Spark SQL概述