Hive (http://en.wikipedia.org/wiki/Apache_Hive )(非严格的原文顺序翻译)

 Apache Hive是一个构建在Hadoop上的数据仓库框架,它提供数据的概要信息、查询和分析功能。最早是Facebook开发的,现在也被像Netflix这样的公司使用。Amazon维护了一个为自己定制的分支。
  Hive提供了一个类SQL的语音--HiveQL,它将对关系数据库的模式操作转换为Hadoop的map/reduce、Apache Tez和Spark 执行引擎所支持的操作。以上的三种执行引擎都可以在YARN框架下运行。为了加速执行,它添加了indexes特性,包括bitmap indexes。
  其他特性:
  • 加速用的索引功能(有什么特别的?)
  • 不同的存储类型文件,例如plain text, RCFileHBase, ORC, and others.
  • 元数据保存在关系数据库中,默认是(Apache Derbydatabase),可替换为Mysql等;
  • 可对hadoop生态系统的压缩数据操作,支持多种算法:gzipbzip2snappy, etc.
  • 内置UDF(自定义函数)
  • 类SQL查询,是转换为Mapreduce执行的。
 HiveQL不完全兼容SQL-92标准:
1)它额外支持多行插入功能和通过select创建表功能;
2)仅支持基本的索引功能;
3)不支持事务和物化视图功能;
4) 仅支持有限的子查询功能
在Hive内部,HiveQL语句通过编译器转换为DAG(有向无环图)关系的mapReduce,然后提交给hadoop执行;


  Shark是一个为spark设计的大规模数据仓库系统,它与Hive兼容。。。balabala


  Shark将停止开发,而Spark SQL将取代并兼容Shark 0.9的所有功能,并提供额外的功能。

 Hive的缺点:
  • 性能不佳;
  • 为了执行交互查询,需要部署昂贵且私有的数据仓库,且这些数据仓库(EDWs )需要严格而冗长的ETL处理。
    Hive与EDWs的显著性能差异导致了业界怀疑通用数据处理引擎在查询处理上有与生俱来的缺陷。许多人相信交互性SQL需要昂贵的专业查询系统(相对于通用数据引擎。)(如EDWs)。Shark是其中一个最早建立在Hadoop系统上的交互式SQL工具,且是唯一一个建立在spark上的。Shark证明Hive的缺陷不是固有的,像spark这样的通用数据引擎能同时做到:像EDW那样快,像Hive/MapReduce那样大规模。
   
从Shark 到 Spark SQL
  Shark建立在Hive的代码基础上,并通过将Hive的部分物理执行计划交换出来(by swapping out the physical execution engine part of Hive)。这个方法使得Shark的用户可以加速Hive的查询,但是Shark继承了Hive的大且复杂的代码基线使得Shark很难优化和维护。随着我们遇到了性能优化的上限,以及集成SQL的一些复杂的分析功能,我们发现Hive那位MapReduce设计的框架限制了Shark的发展。
  基于上述的理由我们停止Shark这个独立项目的开发,而转向spark SQL。Spark SQL是作为spark一个组件,充分利用spark的有事从头开始设计的。这种新的设计使我们数据更快,且最终交付给用户一个体验更好且更强大的工具。
  对于SQL用户,spark SQL提供很好的性能并且与Shark、Hive兼容。(性能提高一个数量级)。
  对spark用户,spark SQL提供了对结构化数据的简便( narrow-waist)操作。那是真正的为高级的数据分析统一了SQL(结构化查询语言)与命令式语言的混合使用。
  对开源的高手来说,Spark SQL提供了新颖而优雅的构建查询计划的方法。人们可以很容易添加新的优化到这个框架内。我们也被开源贡献者的热情所感动。。。balabala 

  Hive on Spark Project (HIVE-7292)
  说大家都希望Hive尽快支持Hive on spark功能。。以及未来多么美好。。balabala

  





前世今生:Hive、Shark、spark SQL的更多相关文章

  1. Hive、Spark SQL、Impala比较

    Hive.Spark SQL.Impala比较        Hive.Spark SQL和Impala三种分布式SQL查询引擎都是SQL-on-Hadoop解决方案,但又各有特点.前面已经讨论了Hi ...

  2. Spark SQL读取hive数据时报找不到mysql驱动

    Exception: Caused by: org.datanucleus.exceptions.NucleusException: Attempt to invoke the "BoneC ...

  3. spark SQL概述

    Spark SQL是什么? 何为结构化数据 sparkSQL与spark Core的关系 Spark SQL的前世今生:由Shark发展而来 Spark SQL的前世今生:可以追溯到Hive Spar ...

  4. Spark SQL概念学习系列之Spark SQL概述

    很多人一个误区,Spark SQL重点不是在SQL啊,而是在结构化数据处理! Spark SQL结构化数据处理 概要: 01 Spark SQL概述 02 Spark SQL基本原理 03 Spark ...

  5. Spark SQL官方文档阅读--待完善

    1,DataFrame是一个将数据格式化为列形式的分布式容器,类似于一个关系型数据库表. 编程入口:SQLContext 2,SQLContext由SparkContext对象创建 也可创建一个功能更 ...

  6. Spark SQL | 目前Spark社区最活跃的组件之一

    Spark SQL是一个用来处理结构化数据的Spark组件,前身是shark,但是shark过多的依赖于hive如采用hive的语法解析器.查询优化器等,制约了Spark各个组件之间的相互集成,因此S ...

  7. Spark SQL 之 Data Sources

    #Spark SQL 之 Data Sources 转载请注明出处:http://www.cnblogs.com/BYRans/ 数据源(Data Source) Spark SQL的DataFram ...

  8. Spark 官方文档(5)——Spark SQL,DataFrames和Datasets 指南

    Spark版本:1.6.2 概览 Spark SQL用于处理结构化数据,与Spark RDD API不同,它提供更多关于数据结构信息和计算任务运行信息的接口,Spark SQL内部使用这些额外的信息完 ...

  9. Spark SQL 之 Migration Guide

    Spark SQL 之 Migration Guide 支持的Hive功能 转载请注明出处:http://www.cnblogs.com/BYRans/ Migration Guide 与Hive的兼 ...

随机推荐

  1. 电脑连手机调试app

    小米6也真是坑,打开开发者模式的方式堪称一流绝密!!! 设置 --> 我的设备 --> 全部参数 --> MIUI版本 --> 连续点击七次,直到提示已经处于开发者模式为止 然 ...

  2. spring ioc aop 理解

    OC,依赖倒置的意思,所谓依赖,从程序的角度看,就是比如A要调用B的方法,那么A就依赖于B,反正A要用到B,则A依赖于B.所谓倒置,你必须理解如果不倒置,会怎么着,因为A必须要有B,才可以调用B,如果 ...

  3. 怎么处理Win7电脑打开软件速度慢的情况?

    很多使用Win7系统的用户都会发现这么一个问题,就是电脑在使用过一段时间后,打开一个应用软件的速度就会变慢,非常耽误时间.下面就和大家分享一个解决Win7系统应用软件打开速度慢的小技巧. Win7系统 ...

  4. 【转】vm ubuntu14.04 建立共享文件夹

    第一步:启动Ubuntu 14.04(其他版本的Ubuntu操作差不多)       1. 在VMware虚拟机界面,点VM->Install VMware Tools.之后,显示如下图:   ...

  5. oracle下关于table的常用sql整理

    创建表,create TABLE table( 列名称1 数据类型1, 列名称2 数据类型2, 列名称3 数据类型3, ......); eg: create table TABLE_24751( i ...

  6. 查看TensorFlow的版本以及安装路径

    查看TensorFlow的版本以及安装路径 进入到Python环境 import tensorflow as tf tf.__version__ # 查看版本 tf.__path__ # 查看安装路径 ...

  7. 腾讯数据安全专家谈联邦学习开源项目FATE:通往隐私保护理想未来的桥梁

    数据孤岛.数据隐私以及数据安全,是目前人工智能和云计算在大规模产业化应用过程中绕不开的“三座大山”. “联邦学习”作为新一代的人工智能算法,能在数据不出本地的情况下,实现共同建模,提升AI模型的效果, ...

  8. 《编译原理》LR 分析法与构造 LR(1) 分析表的步骤 - 例题解析

    <编译原理>LR 分析法与构造 LR(1) 分析表的步骤 - 例题解析 笔记 直接做题是有一些特定步骤,有技巧.但也必须先了解一些基本概念,本篇会通过例题形式解释概念,会容易理解和记忆,以 ...

  9. UVa101 The Blocks Problem(不定长数组vector)

    The Blocks Problem 书上的一道例题,代码思路比较清晰,可以看懂. 相关知识: 若a是一个vector,则: a.size():读取它的大小 a.resize():改变大小 a.pus ...

  10. 12-SSMS图形化工具中不允许保存修改的解决办法

    1.报出的警告 2.解决办法 工具-->选项-->设计器--->表设计和数据库设计器-->阻止保存要求重新创建表的更改  的勾去掉就OK 了