hive-初看hive

摘要:
在网上搜索后,我发现了很多关于蜂巢的信息,要么是官方翻译,要么是模糊的描述。很难直接理解我刚刚遇到的事情。我从一本关于hadoop的书中找到了一些关于hive的信息,没有太多废话。配置单元提供基本数据类型和复杂数据类型。复杂的数据类型在Java语言中不可用。Hive的执行主要通过Hadoop的MapReduce实现。与选择*fromtable1类似,MapReduce不是必需的。)导致hive执行延迟的原因有两个:1。hive没有索引,需要扫描整个表以查找查询数据;2.使用MapReduce;hive的用户界面包括CLI、Client和WebUI。

网上搜了一下找了很多介绍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-初看hive第1张


 hive的缺点

1.Hive的HQL表达的能力有限,有些复杂运算用HQL不易表达;

2.Hive的效率较低

  • Hive自动生成MapReduce作业,通常不够只能;
  • HQL调优困难,粒度较粗;
  • 可控性差。

Hive的运行架构

hive-初看hive第2张


Hive的接口

hive-初看hive第3张


Hive的数据存储

hive-初看hive第4张


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》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何把SQLServer数据库从高版本降级到低版本?PyCharm不能debug问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Hive 严格模式与非严格模式

1. hive严格模式 hive提供了一个严格模式,可以防止用户执行那些可能产生意想不到的不好的效果的查询。即某些查询在严格模式下无法执行。通过设置hive.mapred.mode的值为strict,可以禁止3中类型的查询。(1) 查询一个分区表时如果在一个分区表执行hive,除非where语句中包含分区字段过滤条件来显示数据范围,否则不允许执行。换句话说...

Hadoop Hive与Hbase关系 整合

用hbase做数据库,但因为hbase没有类sql查询方式,所以操作和计算数据很不方便,于是整合hive,让hive支撑在hbase数据库层面 的 hql查询.hive也即 做数据仓库 1. 基于Hadoop+Hive架构对海量数据进行查询:http://blog.csdn.net/kunshan_shenbin/article/details/7105...

01 HDFS 简介

01.HDFS简介 大纲: hadoop2 介绍 HDFS概述 HDFS读写流程 hadoop2介绍 框架的核心设计是HDFS(存储),mapReduce(分布式计算),YARN(资源管理),为海量的数据提供了存储和计算。 Hadoop 1.0(MapReduce,HDFS) Hadoop2 主要改进 YARN NameNode HA HDFS fe...

hive权限配置

基于CDH5.x的Hive权限配置 1、打开权限控制,默认是没有限制的 set hive.security.authorization.enabled=true; 2、配置默认权限 1 hive.security.authorization.createtable.owner.grants = ALL 2 hive.security.authoriz...

日志采集框架Flume以及Flume的安装部署(一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统)

 Flume支持众多的source和sink类型,详细手册可参考官方文档,更多source和sink组件 http://flume.apache.org/FlumeUserGuide.html Flume官网入门指南:  1:Flume的概述和介绍: (1):Flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。(2):Flume可...

alluxio2.0特性-预览

项目地址 https://github.com/Alluxio/alluxio/tree/branch-2.0-preview 2.0版本-构思和设计 支持超大规模数据工作负载 Alluxio作为计算和存储之间的数据编排层,使数据移动并且可以跨多个不同的存储系统访问:HDFS,对象存储,网络附加存储,随着时间的推移,Alluxio需要的元数据支持规模 提供...