hive
文章平均质量分 72
快乐程序员
从事hadoop/hbase/hive/impala运维和研究
展开
-
hive中使用正则表达式不当导致运行奇慢无比
业务保障部有一个需求,需要用hive实时计算上一小时的数据,比如现在是12点,我需要计算11点的数据,而且必须在1小时之后运行出来,但是他们用hive实现的时候发现就单个map任务运行都超过了1小时,根本没法满足需求,后来打电话让我帮忙优化一下,以下是优化过程:原创 2015-03-19 13:20:42 · 4942 阅读 · 1 评论 -
hive 执行计划
Hive provides an EXPLAIN command that shows the execution plan for a query. The syntax for this statement is as follows:EXPLAIN [EXTENDED] query hive> explain SELECT a.bar, cou转载 2014-01-13 18:09:19 · 1427 阅读 · 0 评论 -
hive 结合执行计划 分析 limit 执行原理
在hive查询中要限制查询输出条数, 可以用limit 关键词指定,如 select columnname1 from table1 limit 10; 这样hive将输出符合查询条件的10个记录,从根本上说, hive是hadoop提交作业的客户端,它使用antlr词法语法分析工具,对SQL进行分析优化后翻译成一系列MapReduce作业,向hadoop提交运行作业以得到结果. 看一条简转载 2014-01-13 18:07:45 · 1193 阅读 · 0 评论 -
Hadoop中两表JOIN的处理方法
1. 概述在传统数据库(如:MYSQL)中,JOIN操作是非常常见且非常耗时的。而在HADOOP中进行JOIN操作,同样常见且耗时,由于Hadoop的独特设计思想,当进行JOIN操作时,有一些特殊的技巧。本文首先介绍了Hadoop上通常的JOIN实现方法,然后给出了几种针对不同输入数据集的优化方法。2. 常见的join方法介绍假设要进行join的数据分别来自转载 2014-01-07 22:27:00 · 831 阅读 · 0 评论 -
hive桶(bucket)简介
1. hive 桶相关概念 桶(bucket)是指将表或分区中指定列的值为key进行hash,hash到指定的桶中,这样可以支持高效采样工作。 抽样(sampling)可以在全体数据上进行采样,这样效率自然就低,它还是要去访问所有数据。而如果一个表已经对某一列制作了bucket,就可以采样所有桶中指定序号的某个桶,这就减少了访问量。 2. 桶作用原创 2013-12-13 10:58:52 · 8848 阅读 · 0 评论 -
hive分区(partition)简介
网上有篇关于hive的partition的使用讲解的比较好,转载了:一、背景1、在Hive Select查询中一般会扫描整个表内容,会消耗很多时间做没必要的工作。有时候只需要扫描表中关心的一部分数据,因此建表时引入了partition概念。2、分区表指的是在创建表时指定的partition的分区空间。3、如果需要创建有分区的表,需要在create表的时候调用可选参数原创 2013-12-13 10:31:51 · 1256 阅读 · 0 评论 -
hive的内部表与外部表创建
1.创建表的语句:Create [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment转载 2013-12-10 12:36:44 · 1155 阅读 · 0 评论 -
Hive的预定义UDF函数
原文地址:http://blog.csdn.net/ph123456789/article/details/6305392Hive的预定义UDF函数列表如下,主要来自于describe function xxx和代码注释的翻译:)abs(x) - returns the absolute value of xacos(x) - returns the arc cosine转载 2013-12-09 12:31:13 · 1023 阅读 · 0 评论 -
hive中的时间处理函数
hive中的时间处理函数转自http://www.oratea.net/?p=944日期函数UNIX时间戳转日期函数: from_unixtime语法: from_unixtime(bigint unixtime[, string format])返回值: string说明: 转化UNIX时间戳(从1970-01-01 00:00:00转载 2013-12-06 19:02:30 · 2002 阅读 · 0 评论 -
hive数据倾斜总结
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀的转载 2013-10-29 23:05:25 · 952 阅读 · 0 评论 -
hadoop集群问题跟踪
1、no room for reduce task错误日志:2013-07-30 12:40:23,186 WARN org.apache.hadoop.mapred.JobInProgress: No room for reduce task. Node tracker_zw-hadoop-slave-80-125.:zw_80_125/127.0.0.1:15436 has 49630原创 2013-07-31 11:08:53 · 1546 阅读 · 0 评论 -
Hive小文件合并调研
背景Hive query将运算好的数据写回hdfs(比如insert into语句),有时候会产生大量的小文件,如果不采用CombineHiveInputFormat就对这些小文件进行操作的话会产生大量的map task,耗费大量集群资源,而且小文件过多会对namenode造成很大压力。所以Hive在正常job执行完之后,会起一个conditional task,来判断是否需要合并小文件,如果转载 2014-02-13 15:00:50 · 1227 阅读 · 0 评论 -
hql中小文件合并操作
老大昨天发给我一个hql:create table zx_car_weibo_41_tmpas select * from ods_tblog_content where dt = '20130101' and ((content like '%4C%') or ( extend like '%4C%')) and ((content like '%雪铁龙%') or原创 2014-02-13 14:57:39 · 3219 阅读 · 0 评论 -
hive-0.13固化自定义UDF
之前帮业务方固化过hive-0.7的自定义的UDF,由于现在大部分业务数据都已经迁移到hadoop2.4.0,hive使用的版本是0.13,之前固化的UDF不能用了,让在0.13上面也固化一下,以下是固化过程:原创 2015-02-06 18:40:08 · 1908 阅读 · 0 评论 -
Hive部署UDF的四种方法
在向Hive添加自定义的UDF或者添加Hive自带的类,如GenericUDFDBOutput时,需要将包含UDF类的Jar包添加到Hive环境中,这样就可以使用Create [temporary]function创建函数了,添加UDF Jar包有四种方法,下面分别进行介绍。 第一种是最常见但也不招人喜欢的方式是使用ADD JAR(s)语句,之所以说是不招人喜欢是,通过该方式添转载 2015-02-05 14:43:08 · 4925 阅读 · 0 评论 -
RCFile存储格式
本文介绍了Facebook公司数据分析系统中的RCFile存储结构,该结构集行存储和列存储的优点于一身,在MapReduce环境下的大规模数据分析中扮演重要角色。Facebook曾在2010 ICDE(IEEE International Conference on Data Engineering)会议上介绍了数据仓库Hive。Hive存储海量数据在Hadoop系统中,提供了一套类数据库转载 2015-01-15 16:53:08 · 930 阅读 · 0 评论 -
hive rcfile存储格式
Hive的三种文件格式:TEXTFILE、SEQUENCEFILE、RCFILE中,TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的,RCFILE是基于行列混合的思想,先按行把数据划分成N个row group,在row group中对每个列分别进行存储。另:Hive能支持自定义格式,详情见:Hive文件存储格式基于HDFS的行存储具备快速数据加载和动态负载的高适应能力,转载 2015-01-15 16:51:59 · 866 阅读 · 0 评论 -
hive报lzo Premature EOF from inputStream错误
今天dw组同事发邮件说有一个问题让帮解决一下,他们自己没能搞得定,以下问题解决过程:原创 2014-11-18 17:36:58 · 6976 阅读 · 1 评论 -
hive建表没使用LZO存储格式,但是数据是LZO格式时遇到的问题
今天微博大数据平台发邮件来说,他们有一个hql运行失败,但是从gateway上面的日志看不出来是什么原因导致的,我帮忙看了一下,最后找到了问题的原因,以下是分析过程原创 2014-10-13 16:30:53 · 2893 阅读 · 0 评论 -
hive使用python脚本导致java.io.IOException: Broken pipe异常退出
反垃圾rd那边有一个hql,在执行过程中出现错误退出,报java.io.IOException: Broken pipe异常,hql中使用到了python脚本,hql和python脚本近期没有人改过,在10.1号时还运行正常,但是在10.4号之后运行就老是出现相同的错误,而且错误出现在stage-2的reduce阶段,gateway上面的错误提示如下:原创 2014-10-10 16:16:27 · 8427 阅读 · 0 评论 -
hive任务卡在个别reduce的问题分析
最近微博有一个任务需要使用日曝光表做统计,发现这个任务很容易在stage1卡在reduce100%阶段不动,发邮件过来让帮找一下问题或者优化一下,和同事一起分析了一下原因,以下是分析过程:原创 2014-09-29 10:43:23 · 12529 阅读 · 0 评论 -
Yarn在Shuffle阶段内存不足问题(error in shuffle in fetcher)
在Hadoop集群(CDH4.4, Mv2即Yarn框架)使用过程中,发现处理大数据集时程序报出如下错误:13/12/02 20:02:06 INFO mapreduce.Job: map 100% reduce 2%13/12/02 20:02:18 INFO mapreduce.Job: Task Id : attempt_1385983958793_0001_r_000000_1转载 2014-09-15 17:36:40 · 9128 阅读 · 1 评论 -
hive on spark部署
本文档相关软件的版本:spark-1.0.2、hadoop2.4.0和hive-0.13.0一、编译打包1、准备 将 hadoop gateway所使用的 hadoop 相关配置文件(*-site.xml)放到 spark 的代码里的 core/src/main/resources/下进行打包,否则可能会出现找不到rm以及 nn 等情况。 参考文档:《sp原创 2014-09-17 15:44:15 · 2481 阅读 · 0 评论 -
Hadoop运维记录
记录一些Hive的优化点,和能够提升的效率差异。Hive是目前应用最多最广的SQL on Hadoop工具,近期很多专业的大数据公司推出了很多新的,基于列式或者内存热数据的SQL工具,像Impala,Tez,Spark等等,但是Hive仍然是目前使用率最高和普及面最广的SQL on Hadoop的工具。在以前淘宝罗李的报告中,淘宝90%的业务跑在Hive上面。暴风影音的比例更高一些,大概9转载 2013-09-21 21:56:44 · 1123 阅读 · 0 评论 -
Hadoop 中的两表join
作为数据分析中经常进行的join 操作,传统DBMS 数据库已经将各种算法优化到了极致,而对于hadoop 使用的mapreduce 所进行的join 操作,去年开始也是有各种不同的算法论文出现,讨论各种算法的适用场景和取舍条件,本文讨论hive 中出现的几种join 优化,然后讨论其他算法实现,希望能给使用hadoop 做数据分析的开发人员提供一点帮助. Facebook 今年在转载 2013-08-07 17:41:33 · 820 阅读 · 0 评论 -
Hive JDBC——深入浅出学Hive
第一部分:搭建Hive JDBC开发环境搭建:Steps•新建工程hiveTest•导入Hive依赖的包•Hive 命令行启动Thrift服务•hive --service hiveserver & 第二部分:基本操作对象的介绍Connection•说明:与Hive连接的Connection转载 2013-08-02 21:55:09 · 1670 阅读 · 0 评论 -
Hive 内建操作符与函数开发——深入浅出学Hive
第一部分:关系运算Hive支持的关系运算符•常见的关系运算符•等值比较: =•不等值比较: •小于比较: •小于等于比较: •大于比较: >•大于等于比较: >=•空值判断: IS NULL•非空判断: IS NOT NULL•LIKE比较: LIKE•JAVA的LIKE操作: RLIKE转载 2013-08-02 21:54:29 · 1335 阅读 · 0 评论 -
Hive安装与配置——深入浅出学Hive
第一部分:软件准备与环境规划Hadoop环境介绍•Hadoop安装路径•/home/test/Desktop/hadoop-1.0.0/•Hadoop 元数据存放目录•/home/test/data/core/namenode•Hadoop 数据存放路径•/home/test/data/core/datanodeHive环转载 2013-08-02 21:53:26 · 985 阅读 · 0 评论 -
Hive QL——深入浅出学Hive
第一部分:DDLDDL•建表•删除表•修改表结构•创建/删除视图•创建数据库•显示命令建表CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT tab转载 2013-08-02 21:57:13 · 965 阅读 · 0 评论 -
初始Hive —— 深入浅出学Hive
第一部分:Hive简介什么是Hive•Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。•本质是将SQL转换为MapReduce程序 第二部分:为什么使用Hive面临的问题 人员学习成本太高 项目周期要求太短 我只是需要一个简单的环境转载 2013-08-02 21:51:13 · 924 阅读 · 0 评论 -
从SQL到HiveQL应改变的几个习惯
引言HiveQL非常像SQL,但二者并非等价,若不注意期间的一些差异,容易导致HiveQL的语义错误,或降低运行效率等问题。本文将逐步汇集HiveQL应用中发现的差异,整理与此以便查阅。更多HiveQL的语法知识见http://wiki.apache.org/hadoop/Hive/LanguageManual别名SQL中对列取别名,可如下应用:SELECT use转载 2013-08-02 21:43:57 · 1180 阅读 · 0 评论 -
impala1.0.1安装
一、节点部署情况1、cdh4.2.1 HA安装节点:iphosts进程备注10.32.71.18master1.jnhadoop.comNameNode JournalNode ZooKeeper HdfsZkfc默认NN启动为active10.32.71.19master2.j原创 2013-07-15 10:32:29 · 1888 阅读 · 0 评论 -
Hive优化总结
优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜。理解hadoop的核心能力,是hive优化的根本。这是这一年来,项目组所有成员宝贵的经验总结。 长期观察hadoop处理数据的过程,有几个显著的特征:1.不怕数据多,就怕数据倾斜。2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时转载 2013-06-24 15:52:37 · 966 阅读 · 0 评论 -
hive优化之------控制hive任务中的map数和reduce数
一、 控制hive任务中的map数: 1. 通常情况下,作业会通过input的目录产生一个或者多个map任务。 主要的决定因素有: input的文件总个数,input的文件大小,集群设置的文件块大小(目前为128M, 可在hive中通过set dfs.block.size;命令查看到,该参数不能自定义修改);2. 举例: a) 假设input目录下有转载 2013-06-24 15:51:13 · 1177 阅读 · 0 评论 -
impala0.7与hive(分别基于MR1和MR2)的测试性能对比
硬件配置:节点Iposcpu内存磁盘Jn-4810.31.72.48RH5.7E5620*2 16核24GSSD40G*2+2T*12master-4110.31.72.41RH5.8原创 2013-04-25 17:04:49 · 2049 阅读 · 0 评论 -
hive参数——深入浅出学Hive
第一部分:Hive 参数hive.exec.max.created.files•说明:所有hive运行的map与reduce任务可以产生的文件的和•默认值:100000 hive.exec.dynamic.partition•说明:是否为自动分区•默认值:falsehive.mapred.reduce.tasks.spec转载 2013-08-02 21:55:49 · 1242 阅读 · 0 评论 -
Hive 高级编程——深入浅出学Hive
第一部分:产生背景产生背景•为了满足客户个性化的需求,Hive被设计成一个很开放的系统,很多内容都支持用户定制,包括:•文件格式:Text File,Sequence File•内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text•用户提供的 map/reduce 脚本:不管什么语言,利用 s转载 2013-08-02 21:56:26 · 1137 阅读 · 0 评论 -
Hive中SELECT TOP N的方法(order by与sort by)
我想说的SELECT TOP N是取最大前N条或者最小前N条。Hive提供了limit关键字,再配合order by可以很容易地实现SELECT TOP N。但是在Hive中order by只能使用1个reduce,如果表的数据量很大,那么order by就会力不从心。例如我们执行SQL:select a from ljntest01 order by a limit原创 2013-08-05 14:50:22 · 1240 阅读 · 0 评论 -
Hive UDF开发(多个参数)
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:package com.sohu.hive.udf;import org.apache.hadoop.hive.ql.exec.UDF;public class Md5 extends U原创 2013-08-03 22:30:37 · 8963 阅读 · 0 评论 -
Hive UDF开发(单个参数)
Hive进行UDF开发十分简单,此处所说UDF为Temporary的function,所以需要hive版本在0.4.0以上才可以。Hive的UDF开发只需要重构UDF类的evaluate函数即可。例:package com.sohu.hive.udf;import org.apache.hadoop.hive.ql.exec.UDF;public class Md5 ext原创 2013-08-03 22:01:43 · 1325 阅读 · 0 评论