hive
文章平均质量分 88
12345677654321000000
这个作者很懒,什么都没留下…
展开
-
hive大数据倾斜总结
hive大数据倾斜总结在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的re转载 2014-03-13 17:26:23 · 576 阅读 · 0 评论 -
hive中如何确定一个mapreduce作业的reduce数量
版本:hive1.2.1 看源码:org.apache.hadoop.hive.ql.exec.Utilities类中的estimateReducers方法 参数1: totalInputFileSize job的所有输入的总的字节数 参数2: bytesPerReducer 每个reduce的数据量,由hive.exec.reduc原创 2016-04-11 15:22:26 · 2606 阅读 · 0 评论 -
hive报错java.io.IOException: Could not find status of job:job_1470047186803_131111
环境:hadoop2.7.2 + hive1.2.1 最近集群环境下,有部分hive任务会报报如下错误: java.io.IOException: Could not find status of job:job_1470047186803_131111at org.apache.hadoop.hive.ql.exec.mr.HadoopJobExecHelp原创 2016-08-05 10:54:29 · 7981 阅读 · 3 评论 -
Hive分析窗口函数(二) NTILE,ROW_NUMBER,RANK,DENSE_RANK
转载地址: http://lxw1234.com/archives/2015/04/181.htm本文中介绍前几个序列函数,NTILE,ROW_NUMBER,RANK,DENSE_RANK,下面会一一解释各自的用途。Hive版本为 apache-hive-0.13.1注意: 序列函数不支持WINDOW子句。(什么是WINDOW子句,点此查看前面的文章)数据准备:转载 2016-09-13 15:47:27 · 513 阅读 · 0 评论 -
Hive分析窗口函数(一) SUM,AVG,MIN,MAX
转载留作备用,很好的文章. 地址:http://lxw1234.com/archives/2015/04/176.htm转载请注明:lxw的大数据田地 » Hive分析窗口函数(一) SUM,AVG,MIN,MAX Hivelxw1234@qq.com 1年前 (2015-04-23) 3980℃2评论Hive中提供了越来越多的分析函数,用于完成负责的统计分转载 2016-06-28 17:08:37 · 422 阅读 · 0 评论 -
Hive分析窗口函数(三) CUME_DIST,PERCENT_RANK
转载地址: Hive分析窗口函数(三) CUME_DIST,PERCENT_RANK这两个序列分析函数不是很常用,这里也介绍一下。注意: 序列函数不支持WINDOW子句。(什么是WINDOW子句,点此查看前面的文章)Hive版本为 apache-hive-0.13.1数据准备: d1,user1,1000 d1,user2,2000 d转载 2016-09-13 16:10:38 · 1434 阅读 · 0 评论 -
Hive分析窗口函数(四) LAG,LEAD,FIRST_VALUE,LAST_VALUE
转载地址:lxw的大数据田地 » Hive分析窗口函数(四) LAG,LEAD,FIRST_VALUE,LAST_VALUE继续学习这四个分析函数。注意: 这几个函数不支持WINDOW子句。(什么是WINDOW子句,点此查看前面的文章)Hive版本为 apache-hive-0.13.1数据准备: cookie1,2015-04-10 10:0转载 2016-09-13 16:16:53 · 545 阅读 · 0 评论 -
Hive分析窗口函数(五) GROUPING SETS,GROUPING__ID,CUBE,ROLLUP
转载地址: GROUPING SETS,GROUPING__ID,CUBE,ROLLUP这几个分析函数通常用于OLAP中,不能累加,而且需要根据不同维度上钻和下钻的指标统计,比如,分小时、天、月的UV数。Hive版本为 apache-hive-0.13.1数据准备: 2015-03,2015-03-10,cookie1 2015-03,2015-03-10,转载 2016-09-13 16:37:11 · 2820 阅读 · 0 评论 -
hive metastore ha 配置
1.需要在两台或多台机器上启动hive metastore 服务,这台机器上hive配置如下 javax.jdo.option.ConnectionURL jdbc:mysql://10.140.60.53:3306/hive?createDatabaseIfNotExist=true JDBC connect string for a JDBC metastor原创 2016-09-18 11:44:23 · 3895 阅读 · 0 评论 -
hive写udaf的示例
转载地址http://beekeeperdata.com/posts/hadoop/2015/08/17/hive-udaf-tutorial.htmlThis is part 3/3 in my tutorial series for extending Apache Hive.OverviewPost 1 - Guide to Regular o转载 2016-09-23 09:49:28 · 1334 阅读 · 0 评论 -
hive1.2.1源码导入eclipse阅读以及调试
本地环境:centos6.5 +hadoop2.6.0伪分布安装+hive1.2.1 1.下载hive1.2.1 源码,用maven进行编译源码。 mvn clean install -DskipTests -Phadoop-2 -Dhadoop.version=2.6.0 -Dyarn.version=2.6.0 2.在eclipse中创建User原创 2016-01-08 17:28:44 · 2967 阅读 · 3 评论 -
hadoop hive 压缩参数测试
hadoop hive 压缩原创 2017-05-11 11:02:29 · 760 阅读 · 0 评论 -
hql由于关键字报错
cannot recognize input near 'INTERVAL' 'string' ')' in column specification报错原创 2017-05-23 16:23:20 · 3230 阅读 · 0 评论 -
tez中的brocast join
最近在使用tez的过程中发现,tez中提供了类似于hive on mr中的mapjoin的操作,叫做brocast join。对于小表join大表有很好的效果。 看例子: set hive.execution.engine=tez;set hive.convert.join.bucket.mapjoin.tez=true; set hive.auto.conv原创 2016-09-14 15:08:31 · 2371 阅读 · 0 评论 -
hive insert overwrite directory 报错
hive insert overwrite directory 报错:2017-06-07T16:56:11,766 ERROR [main]: exec.Task (:()) - Failed with exception Unable to move source hdfs://testhadoop/tmp/t1/.hive-staging_hive_2017-06-07_16-56-05_91原创 2017-06-12 11:46:18 · 6564 阅读 · 0 评论 -
tez hive llap安装
版本 hive2.1.0 + hadoop2.7.2 + tez0.8.4 hive llap 是基于tez的一种近实时查询方案。我用的是apache版的,所以第一步是需要对hive和tez进行编译,以使他们的版本适配。测试中发现,如果要想使用hive llap,则hive和tez版本必须基于正确的版本编译。软件编译工作:hive安装下载hive2.1.0源码,修改pom.xml ,将hadoop.原创 2017-06-12 11:12:02 · 5785 阅读 · 5 评论 -
hadoop,hive中的mv(rename)操作
系统环境:hadoop2.7.2+hive1.2.1 大约一年多之前,将hive版本从0.14升级到了1.2.1。之后发现新版本在最后一步写入数据的时候,会比以前慢很多。最后发现是由于hive新版本中,默认中间结果文件是在表空间下生成以 .hive-staging_hive_ 开头的文件。以前版本默认是在/tmp/hive下。最后查出来解决办法: 修改配置文件参原创 2017-02-07 17:38:21 · 9520 阅读 · 1 评论 -
hive1.2.1 表中comment 中文乱码解决办法
hive版本:1.2.1 一.修改hive的元数据库,将COLUMNS_V2表中的COMMENT修改为utf-8 ALTER TABLE `COLUMNS_V2` CHANGE `COMMENT` `COMMENT` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NU原创 2016-01-08 21:40:27 · 6978 阅读 · 0 评论 -
hive insert overwrite1.2.1 无法删除旧文件的问题
JIRA地址:https://issues.apache.org/jira/browse/HIVE-12505?jql=project%20%3D%20HIVE%20AND%20issuetype%20%3D%20Bug%20AND%20affectedVersion%20in%20%281.0.0%2C%201.0.1%2C%201.1.0%2C%201.1.1%2C%201.2.0%2C%20原创 2015-12-18 11:28:21 · 4474 阅读 · 0 评论 -
hive的UDF实现类似于oracle的decode函数功能
客户提的要求,让实现原创 2014-04-22 10:13:07 · 9198 阅读 · 0 评论 -
HIVE中join、semi join、outer join举例详解
举例子:hive> select * from zz0; 111111 222222 888888 hive> select * from zz1; 111111 333333 444444 888888hive> select * from zz0 join zz1 on zz0.uid = zz1.uid; 111111 111111转载 2014-02-22 09:59:59 · 744 阅读 · 0 评论 -
hive实例讲解实现in和not in子句
转载地址:http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842855.html目前hive不支持 in或not in 中包含查询子句的语法,所以只能通过left join实现。假设有一个登陆表login(当天登陆记录,只有一个uid),和一个用户注册表regusers(当天注册用户,字段只有一个uid),这两个表都包含一个转载 2014-02-22 10:21:48 · 1276 阅读 · 0 评论 -
HIVE表数据量和数据记录数的矛与盾
转载:http://hugh-wangp.iteye.com/blog/1579192HIVE作为在Hadoop分布式框架下的数据仓库技术,处理大数据量是最基本的诉求,这种海量处理是基于分布式框架,利用分布式存储,分布式计算,利用大集群的资源并行处理海量数据。但是一旦我们不能利用这种分布式并行处理,那么海量数据只能是低效处理了。再往细处说,就是一份海量数据需要多少map来处理,一个map能转载 2014-02-22 11:21:17 · 2128 阅读 · 0 评论 -
Hive 随谈(六)– Hive 的扩展特性
http://www.alidata.org/archives/604Hive 是一个很开放的系统,很多内容都支持用户定制,包括:文件格式:Text File,Sequence File内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text用户提供的 map/reduce 脚本:不管什么语言,利用 stdin/s转载 2014-02-22 17:12:19 · 653 阅读 · 0 评论 -
java中的double精度,sqoop从oracle导出到hive
项目进行了大半后发现悲剧了,利用sqoop默认的从oracle数据库到处的数据表,如果其中的数据精度大于15位,而导入的表有些字段默认的是double类型,结果导致大于16的数导入到了hive中,查询时只有15位的精度,悲哀啊,切记。public class HelloWorld { public static void main(String args[]){ // d原创 2014-03-19 10:34:19 · 1328 阅读 · 0 评论 -
hive bucket
hive中table可以拆分成partition,table和partition可以通过‘CLUSTERED BY ’进一步分bucket,bucket中的数据可以通过‘SORT BY’排序。bucket主要作用:1. 数据sampling2. 提升某些查询操作效率,例如mapside join需要特别注意的是:clustered by和sorted by不会影响数据的导入,这意味转载 2014-09-26 17:43:00 · 513 阅读 · 0 评论 -
hive中添加永久性函数
转自http://li.angshan.blog.163.com/blog/static/13133228920123123572628/2011-12-11 11:53hive默认的函数并不是太完整,以后我们使用的使用肯定需要自己补充一些。下面这个例子是个简单的测试,关于自定义函数的。函数代码package com.example.hive.udf;转载 2014-10-10 16:35:12 · 1111 阅读 · 0 评论 -
hive合并小文件
hadoop使用lzo压缩,block块大小为512MB环境:hadoop2.6+hive1.2.1 lzo压缩启动压缩set hive.exec.compress.output=true;set mapreduce.output.fileoutputformat.compress=true; 一.减少map数,(当有大量原创 2015-11-03 17:40:25 · 5644 阅读 · 0 评论 -
hive 一些优化
一.mapjoin优化 原理:对于join操作,内连接中有一个表是小表,或者左连接时左表为小表时,自动将MR作业转化为Map,即在map端进行数据join操作,而不是reduce端。在执行任务的本地,将小表转换为hashtable,然后上传到集群中,之后的每个map中都有全量的小表来直接进行join操作,从而跳过了shuffle阶段,这种情况能够适用部分数据倾斜的任务,以及提高了整体的效率原创 2015-09-24 16:01:56 · 2499 阅读 · 0 评论 -
mapjoin测试
测试环境:hadoop2.6+hive1.2.1mapjoin原理:首先在本地将小表序列化为hashtable,然后将生成的文件上传到hdfs上,*(使用分布式缓存distribute cache分发文件)之后在map阶段,每个map会将小表生成的文件重新序列化到内存中,从而开始做mapjoin。内存测试:insert overwrite table maptabl原创 2015-10-14 11:21:11 · 661 阅读 · 0 评论 -
hive1.2.1 MoveTask报错
环境:hadoop2.6+hive1.2.1这个MoveTask错误可能是由于权限引起的(如果启用了hdfs acl)。也可能是其他原因:任务报错:Moving data to: hdfs://sdf-cluster/user/hive/warehouse/data_tds.db/user-themes-layer-data/20151009/lgenv/cloud/.hive-sta原创 2015-10-14 11:34:07 · 5553 阅读 · 0 评论 -
hive hook
hive-site.xml中可以指定添加hook,类似于过滤器之类的,可以用来拦截一些行为 hive.semantic.analyzer.hook 自定义的类 hive 默认的default authorization有漏洞,任何用户都可以创建role并授权,可以org.apache.hadoop.hive.ql.parse.AbstractS原创 2015-10-20 17:13:11 · 4815 阅读 · 3 评论 -
基于存储层面的hive metastore server的权限认证
原文wiki:https://cwiki.apache.org/confluence/display/Hive/Storage+Based+Authorization+in+the+Metastore+Serverhive0.14以及以上基于存储层面的hive metastore server的权限认证该认证基于hdfs上的对应目录的权限来认证对元数据的操作。基本原理是如果该表所在的目原创 2015-10-16 09:24:06 · 2055 阅读 · 0 评论 -
hive升级测试记录
一.hive升级记录1.备份hive元数据库mysqldump -uhive_T -p1234455 -h192.168.0.1 hive > hive-0.10.sql2.将备份的hive数据库导入到一个新的数据库,用来做升级测试的库。mysql -uhive_T -p1234455 -h192.168.0.1 --database hive_0_14_test原创 2015-09-24 16:10:20 · 817 阅读 · 0 评论 -
hive默认的授权机制
hive wiki地址:https://cwiki.apache.org/confluence/display/Hive/Hive+Default+Authorization+-+Legacy+Modehive默认的授权认证机制,能够保证正确的用户做正确的事,这个认证并不是完全安全的,wiki上推荐使用基于hiveserve2的认证,因为任何用户都可以创建role和授予权限等(原创 2015-10-20 17:39:40 · 1761 阅读 · 0 评论 -
hive打patch流程说明
版本:hive2.1.0 本文以hive2.1.0中的HIVE-14483 的bug来举例说明如何打patch。1.bug详细地址:https://issues.apache.org/jira/browse/HIVE-14483bug说明:主要是针对hive orc的array数据类型超过1024个报数组越界的bug2.从jira地址上下载官方对应的patch文件...原创 2018-06-08 16:16:11 · 2113 阅读 · 0 评论