码迷,mamicode.com
首页 > 其他好文 > 详细

Hive

时间:2019-07-13 21:29:55      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:select   hdf   程序   hdfs   数据   大数据   path   指定   def   

概念

海量数据的数据统计平台,将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

标签:select   hdf   程序   hdfs   数据   大数据   path   指定   def   

原文地址:https://www.cnblogs.com/NeverGiveUp0/p/11182067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!