hive-初看hive
网上搜了一下找了很多介绍hive的资料,不是官方翻译就是含糊描述,对于刚接触的很难直观认识
我从一本介绍hadoop的书里找到了一些hive的资料,没太多废话。可以看看
http://pan.baidu.com/s/1qW6txus
Hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。
不熟悉MapReduce的人可以方便的使用SQL语言查询、汇总、分析数据。
MapReduce开发人员可以把自己写的Mapper和Reducer作为插件支持Hive做更复杂的数据分析。(我觉得这才是实际生产中用的最多的,属于高级部分吧,因为每个企业都有自己的业务的数据格式等等)
hive最适合应用在基于大量不可变数据的批处理作业。(这个好像和HBase刚好相反)
hive的入口是Driver,执行SQL语句首先提交到Driver驱动,然后调用Compiler解释驱动,最终解释成MapReduce任务执行,最后将结果返回。
Hive提供基本数据类型和复杂数据类型,复杂数据类型是Java语言不具有的
hive的执行大部分是通过hadoop的MapReduce实现的,类似select * from table1不需要MapReduce。(为什么?)
关于hive的执行延迟有两种原因(很多资料只说了一种):1.hive没有索引,查询数据要扫描整个表;2.使用MapReduce;
hive的用户接口有:CLI、Client和Web UI。
hive的元数据存储在如MySQL这样的数据库里
hive的缺点
1.Hive的HQL表达的能力有限,有些复杂运算用HQL不易表达;
2.Hive的效率较低
- Hive自动生成MapReduce作业,通常不够只能;
- HQL调优困难,粒度较粗;
- 可控性差。
Hive的运行架构

Hive的接口

Hive的数据存储

Hive的数据模型
1.基本数据类型
1.1数字类型
- tinyint
- smallint
- int
- bigint
- float
- double
- decimal
1.2时间类型
- timestamp
- date
1.3字符串类型
- string
- varchar
- char
1.4其他类型
- boolean
- binary
2.复杂数据类型
- arrays
- maps
- structs
- union
hive-初看hive的更多相关文章
- DBeaver之连接hive初体验
工作中第一次和搞大数据的同事配合,他让我用hue看hive数据,,由于本人英语菜逼,hue全英文的页面看不习惯,遂找了一个DBeaver工具,我也是第一次使用这个工具,好像挺可以的,可以连mysql, ...
- hive初体验
--创建表 create table t_order(id int,name string,phone string) row format delimited fields terminated b ...
- 2 hive的使用 + hive的常用语法
本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...
- Hive 7、Hive 的内表、外表、分区(22)
Hive 7.Hive 的内表.外表.分区 1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.h ...
- Hive 12、Hive优化
要点:优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜. 理解hadoop的核心能力,是hive优化的根本. 长期观察hadoop处理数据的过程,有几个显著的特征: 1. ...
- 别只用hive写sql -- hive的更多技能
hive是Apache的一个顶级项目,由facebook团队开发,基于java开发出面向分析师或BI等人员的数据工具(常用作出具仓库),它将文件系统映射为表,使用SQL实现mapreduce任务完成分 ...
- Hive(四)hive函数与hive shell
一.hive函数 1.hive内置函数 (1)内容较多,见< Hive 官方文档> https://cwiki.apache.org/confluence/displ ...
- 【Hive六】Hive调优小结
Hive调优 Hive调优 Fetch抓取 本地模式 表的优化 小表.大表Join 大表Join大表 MapJoin Group By Count(Distinct) 去重统计 行列过滤 动态分区调整 ...
- hive的使用 + hive的常用语法
本博文的主要内容有: .hive的常用语法 .内部表 .外部表 .内部表,被drop掉,会发生什么? .外部表,被drop掉,会发生什么? .内部表和外部表的,保存的路径在哪? .用于创建一些临时表存 ...
随机推荐
- bzoj 4278 [ONTAK2015]Tasowanie(SA,贪心)
[题意] 给定两个字符串,求二路归并后最小字典序的字符串. [思路] 连接两个字符串后求出rank数组.通过比较rank数组进行二路归并. [代码] #include<cstdio> #i ...
- 利用redis分布式锁的功能来实现定时器的分布式
文章来源于我的 iteye blog http://ak478288.iteye.com/blog/1898190 以前为部门内部开发过一个定时器程序,这个定时器很简单,就是配置quartz,来实现定 ...
- Spark系列(五)Master主备切换机制
Spark Master主备切换主要有两种机制,之中是基于文件系统,一种是基于Zookeeper.基于文件系统的主备切换机制需要在Active Master挂掉后手动切换到Standby Master ...
- Standalone Django scripts
Standalone Django scripts DJANGO_SETTINGS_MODULE=foo.settings
- Android实例-调用系统APP(XE10+小米2)
相关资料:群号383675978 实例源码: unit Unit1; interface uses System.SysUtils, System.Types, System.UITypes, Sys ...
- Gradle – Spring 4 MVC Hello World Example – Annotation
In this tutorial, we will take the previous Gradle + Spring MVC XML example, rewrite it to support @ ...
- UINavigationController切换controller动画设置
http://blog.csdn.net/dabiaoyanjun/article/details/7774775 uinavigationcontrolleranimation在pushViewCo ...
- ASP.NET WebForm中前台代码如何绑定后台变量
转载自 http://www.cnblogs.com/lerit/archive/2010/10/22/1858007.html 经常会碰到在前台代码中要使用(或绑定)后台代码中变量值的问题.一般有& ...
- ManagementFactory (一) getClassLoadingMXBean
ClassLoadingMXBean case import java.lang.management.ClassLoadingMXBean; import java.lang.management. ...
- Table 样式设置
http://www.gzsums.edu.cn/webclass/html/table.html