zoukankan      html  css  js  c++  java
  • 【慕课网实战】四、以慕课网日志分析为例 进入大数据 Spark SQL 的世界

    文本文件进行统计分析:
    id, name, age, city
    1001,zhangsan,45,beijing
    1002,lisi,35,shanghai
    1003,wangwu,29,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 mapreduce

    Spark: hive on spark ==> shark(hive on spark)
    shark推出:欢迎, 基于spark、基于内存的列式存储、与hive能够兼容
    缺点:hive ql的解析、逻辑执行计划生成、执行计划的优化是依赖于hive的
    仅仅只是把物理执行计划从mr作业替换成spark作业


    Shark终止以后,产生了2个分支:
    1)hive on spark
    Hive社区,源码是在Hive中
    2)Spark SQL
    Spark社区,源码是在Spark中
    支持多种数据源,多种优化技术,扩展性好很多

    SQL on Hadoop
    1)Hive
    sql ==> mapreduce
    metastore : 元数据
    sql:database、table、view
    facebook

    2)impala
    cloudera : cdh(建议大家在生产上使用的hadoop系列版本)、cm
    sql:自己的守护进程执行的,非mr
    metastore

    3)presto
    facebook
    京东
    sql

    4)drill
    sql
    访问:hdfs、rdbms、json、hbase、mongodb、s3、hive

    5)Spark SQL
    sql
    dataframe/dataset api
    metastore
    访问:hdfs、rdbms、json、hbase、mongodb、s3、hive ==> 外部数据源

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

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

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

  • 相关阅读:
    使用dom4j 解析xml
    xml schema 建立xml文档
    xml dtd 约束建立xml文档
    DBCP 连接池的使用
    c++面向过程和面向对象-C++编译器是如何管理类和对象的
    c++读取文本文件
    一个范围的两个数进行数位的累加,实现对两个数num1和num2的数位和相加
    C++批量注释代码段取消注释代码段快捷键
    利用MATLAB截取一张复杂图片中想要的区域
    python学习之路系列
  • 原文地址:https://www.cnblogs.com/kkxwz/p/8493700.html
Copyright © 2011-2022 走看看