`
柯小芍
  • 浏览: 12998 次
  • 性别: Icon_minigender_2
社区版块
存档分类
最新评论

Hadoop学习之Hive

 
阅读更多

一、HIVE简介

Hive是为提供简单的数据操作而设计的下一代分布式数据仓库。HIVE的操作语句称为HiveQL,他提供了简单的类似SQL的语法的HiveQL语言进行数据查询。同时,HiveQL语言能力不足时,它也能允许使用传统map/reduce进行复杂数据分析。

 

Hive搭建在Hadoop平台之上。它并不是一个真正的数据库,他的元数据存储在其他的数据库中,例如mysql。Hadoop平台提供了HDFS分布式文件存储系统和Map/Reduce分布式计算系统。因为map/reduce编程是比较复杂的,而Hive是凌驾在这两个之上,用户只要熟悉简单的mysql语言就行。

Hive在少量数据查询上和Oracle等软件不能相比,但是在大量的数据上是很有优势的。

二、HIVE的用法

1.hive支持的数据类型

原生数据类型:

TINYINT,SMALLINT,INT,BIGINT,DOUBLE,STRING等



 

这些数据类型都比较简单,下面我详细说一下复合数据类型。

复合数据类型:

hive的复杂类型包括ARRAY,MAP,STRUCT,UNION,这些复杂类型是由基础类型组成的。


下面通过一个实例来看看hive是如何使用复杂数据类型的

基本的操作语句

1)创建表

hive>create table  表名(表的属性);

2)将数据文件导入到Hive表中

hive>load data local inpath '文件的地址' into table 表名;

3)查询语句

和mysql语句无太大差别,不详细赘述,

示例:

建表-导入数据-查询

 

接下来会研究一下hive的数据模型。。。。。。

以及如果让hive和hadoop结合的更紧密,会从以下几个角度进行深入研究:
第一:hive的类SQL语句本身进行调优
第二:就是hive的参数调优
第三:hadoop里的hdfs的参数调优(存储格式、压缩格式、RPC调用、连接数控制)
第四:hadoop里的map/reduce的调优(datanode间的数据传输、处理大小、每个child的相关JVM设置等)
第五:就是hadoop环境里的网络传输的调优(硬件环境)
第六:就是hdfs的存储格式调优(文本格式、顺序格式等)
第七:操作系统层面的磁盘I/O调优(多路复用等)
第八:操作系统层面的网络调优(缓冲区大小、连接数放大等)
第九:操作系统层面的内存调优(虚拟内存设置、内存控制等)
第十:hadoop的容错机制的掌握,因为正常的运行到没什么,怕就是出现异常时,有相应的应对方案(调度器、队列等)
第十一:hadoop的管理(包括datanode失效、namenode失效、加入或删除datanode、负载均衡、集群等)

  • 大小: 57.3 KB
  • 大小: 20.8 KB
  • 大小: 21 KB
  • 大小: 46.6 KB
  • 大小: 34.8 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics