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、负载均衡、集群等)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值