美文网首页大数据 爬虫Python AI Sql大数据玩转大数据
慕课网Spark SQL日志分析 - 3.Spark SQL概述

慕课网Spark SQL日志分析 - 3.Spark SQL概述

作者: 9c0ddf06559c | 来源:发表于2018-07-11 22:02 被阅读6次

    3.Spark SQL概述

    1.Spark SQL前世今生

    • 为什么要使用sql?
    1. 事实上的标准
    2. 易学易用
    3. 受众面大
    • Hive
      类似于sql的hive sql语句,sql==>mapreduce
      缺点:基于mapreduce,执行效率比较低
      改进:hive on tez,hive on spark,hive on mapreduce

    • Shark
      hive on spark ==> shark(把hive解析后的作业翻译成spark作业)
      优点:1.基于spark;2.基于内存的列式存储;3.与hive能够兼容
      缺点:hive ql 的解析、逻辑执行计划生成、执行计划的优化是依赖于hive的。仅仅只是把物理执行计划从mr作业替换成spark;mapreduce基于进程级别的,而spark是基于线程的,shark必须单独维护一个分支来处理线程相关的操作。

    image.png

    Shark终止后,产生了两个分支:

    1. Hive on spark(Hive社区中,源码是在hive中)
    2. spark sql(Spark社区,源码是在Spark中)(支持多种数据源,多种优化技术,扩展性也要好很多)

    2.Sql on Hadoop 常用框架

    image.png
    1. Hive
      sql ==> mapreduce
      metasotre: 原数据
      sql: database, table, view

    2. impla
      cloudera : cdh(建议大家在生产上使用的hadoop系列版本)、cm
      sql : 自己的守护进程执行的,非mr (对内存要求比较高)

    3. presto
      facebook,京东
      支持sql

    4. drill
      支持sql
      能够访问:hdfs、rdbms、json、hbase、mongdb、c3、hive ==> 外部数据源

    5. Spark SQL
      支持sql
      dataframe/dataset api
      metastore
      能够访问:hdfs、rdbms、json、hbase、mongdb、c3、hive ==> 外部数据源

    3.Spark SQL 概述

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

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

    image.png image.png image.png image.png

    Spark SQL不仅仅有访问或者操作SQL的功能,他还提供了其他的非常丰富的操作:外部数据源,优化

    Spark SQL概述小结:
    1.Spark Sql并不局限于SQL
    2.可以访问hive、json、parquet等文件的数据
    3.SQL只是Spark SQL 的一个功能而已===>这个名字并不恰当
    4.Spark SQL提供了SQL的api,DataFrame,Dataset的API

    4.Spark SQL愿景

    • Write the less code
    • Read less data
    • Let the optimizer do the hard work

    5.Spark SQL架构

    image.png

    相关文章

      网友评论

        本文标题:慕课网Spark SQL日志分析 - 3.Spark SQL概述

        本文链接:https://www.haomeiwen.com/subject/ztmkpftx.html