
hive
fish_cool
擅长java并发设计与开发(包括多核开发)、java性能调优、java分布式架构与设计、工作流引擎算法、python;对erlang、ada、搜索引擎有浓厚的兴趣,曾从事过数据分析与挖掘(SAS)和hadoop平台相关(hive、sqoop、R、zookeeper、mahout、Hbase等)方面的研究与开发,现阶段负责公司的整个大数据平台的搭建(包括海量实时OLAP查询、离线计算平台、实时计算平台),并朝着各平台封装成产品的方向前进
展开
-
hive在实际运行压缩模式中出现的问题
java.io.IOException: IO error in map input file hdfs://master:8020/tmp/hive-hadoop/hive_2013-12-05_14-11-45_842_4285479348256958995/-ext-10033/000267_0.snappy at org.apache.hadoop.mapred.MapTask$Tra原创 2013-12-05 15:27:38 · 2754 阅读 · 0 评论 -
hive使用动态分区问题3
最近在对数据流转的处理中,采用了很多动态分区的方式。这次出现的问题是动态分区过程中,出现了分区为__HIVE_DEFAULT_PARTITION__的分区。经查证是因为分区字段为空或者''导致,所以分区的时候尽量选择有值的字段,如果碰到确实有字段为空,需要查明什么原因导致。原创 2012-12-19 14:45:51 · 2760 阅读 · 4 评论 -
hive使用压缩时出现的问题
最近在使用BZ压缩时,发现job运行的Map数太多(有些已经达到了上万个map数,这是不正常的。),生成的压缩文件很多,而且每个压缩文件就0.34KB到1MB多不等。正在查明产生原因。原创 2013-01-01 16:00:37 · 939 阅读 · 0 评论 -
关于hive的ClosedByInterruptException异常新动向3
通过这两天的不断研究源码,发现与这个相关的hadoop源码是DFSClient、DistributedFileSystem、JobInProgress、JobClient、JobTracker等与hive相关的源码是CliDriver、Driver、ExecDriver、TaskRunner、Task、MoveTask等。之前设置了暂停100毫秒的方式后,后来也测试出将严重影响MR运行的效原创 2012-07-31 17:16:57 · 2507 阅读 · 0 评论 -
hive的server模式
简单地总结下使用hiveserver模式的好处。目前使用下来有两点感受。第一:多个client对应一个proxy,再一个proxy对应hadoop集群,节省资源第二:可以捕获到单个SQL运行的异常情况,方便编写应对机制原创 2012-12-31 10:10:29 · 2799 阅读 · 7 评论 -
Hive动态分区太多也会有问题
最近在测试动态分区时,猜测可能是动态分区的数太多,导致一个SQL始终报错:aused by: org.apache.hadoop.hive.ql.metadata.HiveException: java.io.IOException: Bad connect ack with firstBadLink as 192.168.2.24:50010 at org.apache.hadoop.h原创 2012-12-10 11:39:16 · 4443 阅读 · 12 评论 -
HIVE架构图
转载 2012-12-07 15:34:11 · 2393 阅读 · 0 评论 -
Sqoop导入数据到MySql时的java.util.NoSuchElementException异常2
之前导入到mysql报错是因为字段没有分割符导致,而这次是因为别的情况导致,问题描述如下:首先我在hive里增加了一个字段,然后在mysql里也增加了一个字段。然后用Sqoop导入mysql,就报java.util.NoSuchElementException at java.util.AbstractList$Itr.next(AbstractList.java原创 2012-12-03 16:00:03 · 2032 阅读 · 1 评论 -
hive产生动态分区太多导致的问题
过多的动态分区会导致job出现以下情况:org.apache.hadoop.hive.ql.metadata.HiveException: org.apache.hadoop.ipc.RemoteException: org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No lease on /tmp/hive-maint原创 2012-11-28 23:21:55 · 13825 阅读 · 0 评论 -
hive开发UDF随记
开发UDF时,如果返回是自定义对象类型,是需要加上一个空的构造函数,不然相关的重载构造方法将无法正常使用。会抛出:NoSuchMethodException异常出来。在编写UDAF的时候,使用到DoubleWritable类型,要引用(org.apache.hadoop.hive.serde2.io包下的类),在此包下有四个类分别为:ByteWritable、DoubleWritabl原创 2012-11-28 16:19:44 · 1126 阅读 · 0 评论 -
hive删除包含较多分区表有错误
最近有同事在对包含很多分区的表做删除操作(drop table)时,报了OutOfMemory的异常,在hive中无法删除。通过查找资料发现,是个BUG。据说在0.10.0版本进行了修复,详见:https://issues.apache.org/jira/browse/HIVE-2907不过我将尝试下自己修正这个问题。 解决方案:通过对此issue的了解,因为hive默认的原创 2013-01-01 15:56:13 · 3562 阅读 · 8 评论 -
hive占用CPU100%
最近又再次碰到了hive占用CPU100%的情况。通过ganglia发现是用户进程占用率高(而并非系统进程)如图:待查中…… 关于此问题,要对当前的进程的栈情况进行了解,需要重温下jrockit如何剖析stack的情况了。参考文章:使用JRockit JVM剖析当前进程原创 2013-01-06 13:40:12 · 1447 阅读 · 5 评论 -
hive占用CPU100%2
今天又再次出现了CPU100%的情况(严格来讲是4个CPU都被占满了达到了400%)通过剖析当前进程发现,有7个线程全部堵塞在HashMap.getEntry这个方法上面,部分thread运行信息如下:18326:===== FULL THREAD DUMP ===============Tue Jan 8 09:40:49 2013Oracle JRockit(R) R28原创 2013-01-08 10:56:47 · 3709 阅读 · 9 评论 -
hive各种文件格式与压缩方式的结合测试
最近在给整个集群做一个整体各种压缩方式的测试,稍候带来测试的结果报告。原创 2013-11-06 19:25:36 · 12368 阅读 · 4 评论 -
hive使用心得
最近使用hive一个多月下来(终于完成第一期数据分析迁移工作了),当时使用的0.8的版本(现在最新版本是0.8.1),一个多月下来收获很多。从安装环境、调试、开发、业务理解、技术攻关、业务实现等,一一都体验了一把!总的来说,除了目前网上所介绍的常规hive使用和优化外。因为目前hive只支持0.20的相关版本,所以我们的环境还是使用的0.20版本的hadoop来进行搭建。使用hiv原创 2012-02-18 11:45:06 · 23543 阅读 · 11 评论 -
补充hive升级常规操作
1、首先是安装包部署(这个不用介绍了,就是环境变量等设置)2、就是shema的升级,运行的sql文件在scripts/metastore/upgrade/mysql/,升级到什么版本就运行对应的sql,这里以0.9升级到0.10为例 用mysql客户端登录mysql, mysql> use hivemeta; mysql> source /home/h原创 2013-08-15 10:21:17 · 1188 阅读 · 0 评论 -
关于hive升级到0.11的版本问题2
通过网友的帮助,打印加载路径地址,发现果然有个类在其他地方里存在,如下:[hadoop@master ~]$ hivefile:/home/hadoop/hadoop-1.0.3/conf/file:/home/hadoop/jrockit-jdk1.6.0_29/lib/tools.jarfile:/home/hadoop/hadoop-1.0.3/file:/home/ha原创 2013-08-14 18:27:35 · 1700 阅读 · 0 评论 -
hive升级到0.11的体验
最近将hive升级到0.11的版本体验了下,发现还是有些问题需要注意。正在整理中……原创 2013-08-18 09:39:30 · 4213 阅读 · 7 评论 -
hive升级到0.11的问题
最近发现hive的0.11版本修改很大,其中解决了之前我碰到到一个使CPU100%的BUG(0.9版本是我自己改过的)那么在使用0.11的时候,启动hive命令,出现了下面的错误:13/07/31 10:31:15 WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer原创 2013-08-06 14:42:14 · 2408 阅读 · 0 评论 -
hive开发环境中问题随记
javax.jdo.JDOFatalUserException: There is no available StoreManager of type "rdbms". Please make sure you have specified "datanucleus.storeManagerType" correctly and that all relevant plugins are in t原创 2013-05-13 18:27:02 · 2369 阅读 · 2 评论 -
hive的元数据表清单
mysql> show tables;+--------------------+| Tables_in_hivemeta |+--------------------+| BUCKETING_COLS | 桶相关信息| CDS || COLUMNS_V2 | 表字段信息| DATABASE_PARAMS |原创 2012-09-25 17:40:47 · 1573 阅读 · 0 评论 -
数据采集严重丢失数据随记
最近在统计中,发现了数据流在流转的过程里,出现了严重的丢失数据的情况。我们这边数据采集因为历史原因(处理比较繁琐),采用的是awk的方式在进行处理。而awk调用的外部函数只能用命令行的方式。而就是命令行调用后,没有做close的清理操作,导致了临时变量缓存起来,也就影响了最终数据不一致。原创 2012-10-23 17:58:51 · 1008 阅读 · 0 评论 -
Max block location exceeded for split
最近hive执行报如此的警告,然后hive进程死掉了,很长时间不运行。通过查看日志发现有以下这样的警告信息:2012-10-24 06:26:41,722 [Main Thread] WARN split.JobSplitWriter (JobSplitWriter.java:writeOldSplits(161)) - Max block location exceeded for s原创 2012-10-30 10:41:41 · 3817 阅读 · 0 评论 -
hive启动错误
hive部署完成后,运行bin/hive命令进入hive的客户端,执行show databases;时出错:hive> show databases;FAILED: Error in metadata: javax.jdo.JDOFatalInternalException: Unexpected exception caught.NestedThrowables:java转载 2012-06-25 16:21:24 · 1758 阅读 · 1 评论 -
hive建表规范
源表用s_为前缀临时表用t_为前缀结果表用r_为前缀跨sql的临时表用m_为前缀原创 2012-05-14 10:28:47 · 3397 阅读 · 0 评论 -
hive运行报Call to master/**.** failed on local exception: java.nio.channels.ClosedByInterr
最近在运行hive任务时,会很频繁的报此错误信息,如下:原因是连接不上namenode的8020端口,此端口是hdfs的端口配置,导致原因如下:就是运行一个SQL语句一次读6次写入不同表的任务导致。解决方式:将该SQL语句,进行拆分。测试5次后,不再出现这种情况。目前该问题还没得到彻底解决。等待…………通过几天的观察发现,与IPC的相关参数设置有关,通过查看hado原创 2012-02-20 14:29:25 · 5918 阅读 · 4 评论 -
hive运行时Job initialization failed: java.io.IOException: Filesystem closed
最近运行一次读多次写的hiveSQL语句出现了一个新问题,如图: 在hadoop的mapreduce管理页面里,报错如下信息如图:目前暂时无解中……………………奇怪同一个SQL语句出现如此问题,有待观察!对于此问题,是因为Filesystem 是一个single 对象,当设置了JVM重用这个参数后,那么就会出现之前一个任务运行完成后,会关闭这个Filesystem,原创 2012-02-22 17:39:11 · 8167 阅读 · 0 评论 -
hive的优化方式
hive相关优化方式:Column PruningAs name suggests -discard columns which are not needed> select a,b from t where e>t contains 5 columns (a,b,c,d,e)Columns c,d are discardedSelect only原创 2012-02-13 10:45:37 · 5130 阅读 · 0 评论 -
hive中文乱码问题
关于hive乱码问题,因为hive的数据是保存在HDFS里的,所以文件保存的字符格式为UTF8即可,就能在hive里的命令行里查询出来正常的中文显示。原创 2012-01-04 13:02:23 · 16401 阅读 · 9 评论 -
hive导入数据丢失问题
最近在做批量导入转换数据时,出现了部分数据丢失情况,最后经过检查发现,数据里在某个字段进行转换时,出现了回车符,导致最终数据出来16列,但是目标表只有8列,所以数据就被多出来的8列数据给覆盖了,导致数据丢失(因涉及数据安全问题,这里就不方便进行截图了)。解决方式:就是在UDF里将回车符给替换掉即可。例子如下:str.replaceAll("[\\n | \\r]","");原创 2012-01-08 15:39:51 · 4640 阅读 · 0 评论 -
hive 0.8运行python脚本问题
最近在hive上执行python脚本出现了以下问题,在hive命令行里,执行时报错信息如下:hive> from records > select transform(year,temperature,quality) > using 'python /user/hive/script/is_g原创 2011-12-29 15:11:13 · 3472 阅读 · 1 评论 -
hive创建分区表问题
最近在使用hive的时候,metadata我是放在mysql(是5.5的版本)里的。当时mysql设置的字符集是utf8,正常创建表的时候,一切正常,当我进行创建分区表后,在使用的时候,就出现以下错误信息:FAILED: Error in metadata: javax.jdo.JDODataStoreException: Error(s) were found while auto-原创 2011-12-30 16:40:04 · 3947 阅读 · 0 评论 -
hive使用新的总结
最近在使用hive的时候,出现了新的问题:1、hive在运行时,正常提交作业后,map/red没调度起来(出现了CPU 100%的情况)如下图:注意进程号16013这个就是hive的进程。 2、hive运行的时候,还是会出现nio的错误,3、jps查看到Child进程(实际是该进程已经运行完毕),但kill的时候,该进程却不存在4、hive的job运行完毕,但表里的原创 2012-06-21 18:51:12 · 4522 阅读 · 4 评论 -
hive之datanucleus常见问题及解决办法
hiveserver ./hive --service start-hive ./hive --service stop-hive hive的metastore使用了datanucleus 下载datanucleus-samples-jdo-tutorial-2.0-src.zip 解压datanucleus-samples-jdo-tutorial-2.0,把里面的l转载 2012-08-03 16:03:40 · 20509 阅读 · 5 评论 -
hive安装和使用相关问题解决方式
ubuntu下面: (1)安装好java 设置 JAVA_HOME 在文件/etc/profile中设置 JAVA_HOME=/usr/ export JAVA_HOME tianzhao@tianzhao-VirtualBox:~/apache/trunk$ echo $JAVA_HOME /usr/ (2)ssh tianzhao@tianzhao-转载 2012-08-03 16:06:06 · 7804 阅读 · 0 评论 -
关于hive同一个脚本运行多次而每次结果都不相同
最近在新的统计脚本中发现了,同一个脚本运行多次而每次结果都不相同的场景。今天好像找到了原因,为了保险起见,先测试运行几天后再做决定。2012-10-18号 通过昨晚的运行,结果正常了。导致此原因的情况如下:首先该脚本执行的时候涉及到的记录有8千多万,在执行的过程当中,map=100%的时候,过一会又降下来了,变成map=97%这样,然后再升到map=100%,反复有两三次。原创 2012-10-17 17:45:51 · 3121 阅读 · 2 评论 -
hive无法rename表名
最近在做表名重命名的时候,出现了以下问题,运行情况如下: hive> > > > alter table test rename to test2;Invalid alter operation: table new location hdfs://master:8020/user/hive/warehouse/test_db.db/test2 is原创 2012-09-25 17:07:59 · 9138 阅读 · 0 评论 -
hive开发环境搭建体验
最近为了规范hadoop团队的开发流程,所以已经在Eclipse里进行相关的hive开发工作。但是目前在运行hive的时候,有几个问题需要注意下:第一个问题:直接运行CliDriver类报错,信息如下:WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apach原创 2012-10-09 15:26:33 · 5339 阅读 · 12 评论 -
hive相关特性
之前在使用hive的时候,发现很多特性都没用到,例如:创建数据库的用法索引的用法动态分区等。详细参考官方文档https://cwiki.apache.org/Hive/languagemanual-ddl.html#LanguageManualDDL-Create%252FDropFunction后面将一一使用,并总结测试结果。原创 2012-08-04 08:47:06 · 913 阅读 · 0 评论 -
关于hive占用CPU100%问题跟踪
昨天晚上修改了过了代码后,今天早上再次出现了100%的情况,检查日志发现,还是因为ClosedByInterruptException异常导致。也就是说,并不是之前的那个循环导致。也就是再次证明了之前那种暂停方式,只是拖延了出现问题的频率,而不是从根本源头上得到解决。看来比较悲剧啊,还要继续关注此问题的处理,如有朋友知道,请告之解决方式。另外当出现NIO异常的时候,是什么原原创 2012-07-30 10:08:15 · 2210 阅读 · 4 评论