Hive

Posted nevergiveup0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hive相关的知识,希望对你有一定的参考价值。

概念

海量数据的数据统计平台,将hql翻译为mapreduce程序。

优点

简单;适用于对实时性要求不严的场合;适合处理大数据

缺点

无法表达迭代式计算;

不擅长数据挖掘;

效率比较低。

本质(相当于hadoop的一个客户端)

hive的数据存储在hdfs;

hive的数据处理在mapreduce;

架构

技术图片

与数据库比较

存储、数据更新、数据处理、数据量

hive交互命令

bin/hive -help

bin/hive -e "select * from student";从命令行获取sql

bin/hive -f hive.hql;从文件获取sql【可以用来做定时任务】

bin/hive -f hive.hql > hiveResult.txt 将查询结果追加到这个文件后面

create table xxx() row format delimited fields delimited by ‘\\t‘;

dfs -ls /;查看hdfs文件

! ls /path;查看本地文件

cat  .hivehistory ;查看输入的历史命令

hive数据类型

技术图片

复杂数据类型

struct  map  array

 技术图片

注意:同一个数据类型要用到多个分隔符时,需要先进行数据清洗,将分隔符变成相同的,因为下面只能指定1次。

技术图片

类型转化

cast 

DDL数据定义

数据倾斜

1.合理设置map数(input的文件总数 文件大小)

每个map处理接近128m的文件块,也不一定就好:如果1个127的文件,如果只有1个或者两个字段,却又几千万的记录,如果map处理的逻辑比较复杂,用一个map任务去做,也会比较耗时;

2.小文件进行合并  combiner 

3.复杂文件增加map数

4.合理设置reduce数

最大值:1009 调整:mapered-default.xml

reduce个数不是越多越好

 

以上是关于Hive的主要内容,如果未能解决你的问题,请参考以下文章

HiveHive 基础

Hivehive函数与hive shell

HiveHive 一些面试题

HiveHive Metrics体系

HiveHive Metrics体系

HiveHive Metrics体系