spark sql概述

如何发展背景那个?演化框架?

为什么需要sql?

1)事实上的标准,关系型数据库存在那么多年。因为原来熟悉数据库dba,关系数据库肯定存储不了那么多数据,这些人更愿意使用sql方式;如果mapreduce或spark对于原来的dba门槛太高了;如果能够直接搬到大数据处理框架中来就很好

2)易学易用,花一两天时间 就可以掌握yongfa

3)应用面非常广

举例:对文本文件进行统计分析

id name age city

1001 zhangsan 45 beijing

1002 lisi 335 shanghai

1003 wangwu 29 tianjing

...

最简单方式:

定义表、定义列

table定义:person

定义列:

id int

name string

age int

city string


sql query....


shark


Hive:

基于hadoop上开源数据仓库工具,hive sql语言,能将hql转化为mapreduce执行

使得熟悉sql\不熟悉java,能够对hdfs海量数据进行查询

缺点:原来跑在mapreduce的缺点(效率)

改进:跑在tez,spark上,


Spark: hive on spark====>shark(hive on spark,翻译成rdd)

    shark推出很受欢迎,快(1.基于内存2.基于内存列式存储3.与hive能兼容)

    缺点:为了实现兼容hive,hive sql解析、逻辑执行计划的生成、执行计划的优化是依赖于hive的

            仅仅只是把物理执行计划从mr作业替换为spark作业,(打了补丁的进程级别,额外的维护分支,导致后续维护困难)

shark终止以后产生两个分支:1spark sql上来(spark社区,并没有2功能完善);2还有一个Hive On spark(hive社区的,源

码在hive中)

spark sql支持多种数据源,多种优化技术,扩展性


sql on hadoop框架?

都是基于hadoop

1)hive facebook 

    sql===>mapreduce

    metastore:元数据

    sql:database\table\view

2)impala

    cloudera: cdh(建议生产使用,解决版本依赖关系)、cm

    sql:自己的守护进程执行的,非mr,基于内存

    metastore

3)presto

    facebook 京东用的比较多

    sql:

4)drill

    sql

    访问:hdfs\rdbms\json\hbase\mongoDB\s3\hive

5)spark

    sql

    dataframe\dataset api

    metastore

    访问:hdfs\rdbms\json\hbase\mongoDB\s3\hive===>外部数据源


sparksql概述:是什么?能做什么?

是spark核心组件spark1.0发布的(之前没有),sparK1.3正式从α阶段毕业,说明稳定可用于生产

run sql\hiveql

连接到已经存在BI工具,可以通过jdbc连接

支持四种语言

官网文档:是spark一个模块,用于处理结构化数据的(文本文件,json,..)有见到sql吗?

集成:统一访问外部数据源

不仅仅sql:


愿景()

写更少代码,读更少数据,底层优化====>引入dataframe


架构


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值