Hive架构:

Hive基础
1 概念
1.1 简介
1.1.1 hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。--OLAP
1.2 背景
1.2.1 OLAP逻辑和SQL一样大体一致,可以将这些逻辑转化为对应的MR,不需要每种类型的查询分析都重复写MR
1.2.2 Facebook开发通用的MR程序框架,对外使用SQL接口,框架就是Hive
1.3 官网
1.3.1 http://hive.apache.org/
1.4 原理
1.4.1 建表
1.4.1.1 Hive保存元数据
1.4.1.1.1 可以使用MySQL
1.4.1.2 指定HDFS文件路径
1.4.2 SQL查询
1.4.2.1 Compiler编译器匹配MR模板,生成MR实例
1.4.2.2 MR执行器
1.4.2.2.1 提交运行MR,返回输出
1.4.3 问题
1.4.3.1 Hive采用的方法是将SQL查询转化成MapReduce任务,这导致Hive的性能很差。 而且,Hive只能支持不到30%的SQL分析功能
1.5 同类产品
1.5.1 Impala
1.5.1.1 使用MPP并行数据库思想,完全抛弃了MapReduce这个不太适合做SQL查询的范式。 比基于MapReduce的HiveSQL查询速度提升3~30倍。支持HDFS、HBASE作为存储引擎。
1.5.1.2 http://baike.baidu.com/link?url=wjJdGGrc150Mjrw_JX53P8aEdLOtVwi7hO6P31CKjAmq 2v7P6mEVkRLLLuyvQXI7p_GUsN3du2jF4detmY1t-q
1.5.1.3 http://www.ctocio.com/bigdata/9236.html
1.5.2 Drill
1.5.2.1 Impala仅支持CDH,Drill构建在Hadoop通用版本之上
1.5.3 Spark Shark
1.5.3.1 Shark为了实现Hive兼容,在HQL方面重用了Hive中HQL的解析、逻辑执行计划翻译、 执行计划优化等逻辑,可以近似认为仅将物理执行计划从MR作业替换成了Spark作业
1.5.3.2 http://zhidao.baidu.com/link?url=KsaLI5bexln9hVHFp4mABsq2xSpwdllf89-sGZlwz1lAoUo OPMJwGgS0w-eaHOVbaxGYMsxbI5KjYxFRj1sv1MC_XTW0BN2hf96NF8ZdHcu
1.5.4 Spark SQL
1.5.4.1 http://www.csdn.net/article/2014-07-02/2820482-shark-spark-sql-hive-on-spark-and-the-future-of-sql-on-spark
1.5.5 Cassandra
1.5.5.1 http://baike.baidu.com/link?url=vqQi3df9gQb6pnudACgLzz6NCgRvlOvoA0mtXGDeqiawcy22yt2FTYrJkv PeRNS6uyMhvkrwmtLCb_312cmg9a
1.5.6 Presto
1.5.6.1 http://www.linuxidc.com/Linux/2015-07/119958.htm
1.5.6.2 http://prestodb-china.com/
1.5.6.3 http://blog.csdn.net/joomlaer/article/details/45889759
1.5.7 如何选择?
1.5.7.1 http://stackoverflow.com/questions/17113964/comparing-cassandras-cql-vs-spark- shark-queries-vs-hive-hadoop-dse-version
1.5.7.2 http://blog.163.com/xiaoji0106@126/blog/static/136134661201411322353856/
1.5.7.3 http://blog.sina.com.cn/s/blog_6277623c0102vnq2.html
1.5.7.4 http://blog.chinaunix.net/uid-29242841-id-4030543.html
1.5.7.5 https://www.zhihu.com/question/41541395
 

【Hive】Hive 基础的更多相关文章

  1. 揭秘FaceBook Puma演变及发展——FaceBook公司的实时数据分析平台是建立在Hadoop 和Hive的基础之上,这个根能立稳吗?hive又是sql的Map reduce任务拆分,底层还是依赖hbase和hdfs存储

    在12月2日下午的“大数据技术与应用”分论坛的第一场演讲中,来自全球知名互联网公司——FaceBook公司的软件工程师.研发经理邵铮就带来了一颗重磅炸弹,他将为我们讲解FaceBook公司的实时数据处 ...

  2. Hive框架基础(二)

    * Hive框架基础(二) 我们继续讨论hive框架 * Hive的外部表与内部表 内部表:hive默认创建的是内部表 例如: create table table001 (name string , ...

  3. Hive框架基础(一)

    * Hive框架基础(一) 一句话:学习Hive有毛用? 那么解释一下 毛用: * 操作接口采用类SQL语法,提供快速开发的能力(不会Java也可以玩运算) * 避免了去写MapReduce,减少开发 ...

  4. Hive 这些基础知识,你忘记了吗?

    Hive 其实是一个客户端,类似于navcat.plsql 这种,不同的是Hive 是读取 HDFS 上的数据,作为离线查询使用,离线就意味着速度很慢,有可能跑一个任务需要几个小时甚至更长时间都有可能 ...

  5. [Hive] - Hive参数含义详解

    hive中参数分为三类,第一种system环境变量信息,是系统环境变量信息:第二种是env环境变量信息,是当前用户环境变量信息:第三种是hive参数变量信息,是由hive-site.xml文件定义的以 ...

  6. [Spark][Hive]Hive的命令行客户端启动:

    [Spark][Hive]Hive的命令行客户端启动: [training@localhost Desktop]$ chkconfig | grep hive hive-metastore 0:off ...

  7. Hive HiveQL基础知识及常用语句总结

    基础语句 CREATE DROP 建表.删表 建表 -------------------------------------- -- 1. 直接建表 ------------------------ ...

  8. 关于hive的基础

    Hive基础 1.引入原因 对存在HDFS上的文件或HBase中的表进行查询时,是要手工写一堆MapReduce代码 对于统计任务,只能由懂MapReduce的程序员才能搞定 事实上,许多底层细节实际 ...

  9. Hive[2] 基础介绍

    2.3 Hive 内部介绍: P44 $HIVE_HOME/lib 下的 jar 文件是具体的功能部分:(CLI模块) 其它组件,Thrift 服务,可以远程访问其他进程功能:也有使用 JDBC 和 ...

  10. 【原创】大数据基础之Benchmark(4)TPC-DS测试结果(hive/hive on spark/spark sql/impala/presto)

    1 测试集群 内存:256GCPU:32Core (Intel(R) Xeon(R) CPU E5-2640 v3 @ 2.60GHz)Disk(系统盘):300GDisk(数据盘):1.5T*1 2 ...

随机推荐

  1. [BZOJ3600] 没有人的算术 [重量平衡树+权值线段树]

    题面 传送门 思路 这道题目是陈立杰论文<重量平衡树和后缀平衡树在信息学奥赛中的应用 >中关于重量平衡树维护序列排名算法的一个应用 具体方法为:令根节点保存一个实数区间$[0,1]$ 若当 ...

  2. 使用python读取mysql数据库并进行数据的操作

    (一)环境的配置 使用python调用mysql数据库要引进一些库. 目前我使用的python版本是python3.6.引进库为pymysql 其他对应的库可以有以下选择: mysqldb,oursq ...

  3. centos 7 服务器网卡做bond

    前期环境准备 [root@ /root] alibaba cloud#cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)[root@ ...

  4. WPF - 样式 (转)

    本文目录 1.引言 2.怎样使用样式? 3.内联样式 4.已命名样式 5.元素类型样式 6.编程控制样式 7.触发器 1.引言 样式(Style),主要是用来让元素或内容呈现一定外观的属性.WPF中的 ...

  5. input 输入框提示信息

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  6. [HDU_3652]B-number

    题目描述 A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the ...

  7. 《Linux命令、编辑器与shell编程》第三版 学习笔记---001

    Linux概述 1.具有内核编程接口 2.支持多用户(同时) 3.支持多任务 4.支持安全的分层文件系统 a.标准 b.链接 c.权限 5.shell(命令解释器和编程语言) a.文件名生成(通配符和 ...

  8. springboot结合swagger自动生成接口文档

    前后台分离的开发渐渐已成趋势.那么前后端的沟通就成了问题,包括移动端,web端.如果有一个东西在我们写完代码的时候,自动将接口的所有注释,调用文档提供出来,是不是一件很美好的事情.那就是使用swagg ...

  9. 【Android开发日记】之入门篇(一)——开发环境的搭建

    写给自己的话:至此,大学的时光已经剩下一年的时光,下一年等毕业设计结束后就算是正式地踏入社会.自己学android也不过几个月的时间,为了更好管理文档,写点东西记录下自己曾经做过的点点滴滴是一个不错的 ...

  10. Python学习杂记_14_模块(二)_常用模块

    常用模块 random 模块 import random print(random.random()) # 随机浮点数,默认取0-1,不能指定范围 print(random.randint(1, 20 ...