- 浏览: 111879 次
- 性别:
- 来自: 深圳
最新评论
-
土豆蛋儿:
我想读取一个外部文件,以什么方式好了? 文件内容经常编辑
flume 自定义source -
土豆蛋儿:
大神,您好。
flume 自定义source
文章列表
最近在做关于CDH4.3.0的hive封装,其中遇到了很多问题!其中最困难的是如何在不更改源代码的情况下动态获取jobId!
在项目进行的过程中,我们尝试了很多方式!在尝试的过程中虽然也有很多失败,但对于理解hive的内部机制也更一步的认识,我这里想说的是自定义扩展hook!
在CDH版本的hive中提供了很多hook,俗称钩子函数!这样我们可以通过自定义hook,来对hive进行扩展!这里我就不对hive的执行原理进行赘述了,网上的资料一堆一堆的!中间过程也相当复杂!
这里我大致描述下hive中的一种hook扩展(org.apache.hadoop.hive.ql ...
我们Hadoop集群中将近百分之80的作业是通过Hive来提交的,由于Hive写起来简单便捷,而且我们又提供了Hive Web Client,所以使用范围很广,包括ba,pm,po,sales都在使用hive进行ad-hoc查询,但是hive在降低用户使用门槛的同时,也使得用户经常写不合理开销很大的语句,生成了很多的mapreduce job,占用了大量slot数,其中最典型的例子就是分区表查询,不指定分区条件,导致hive没有做partition pruner优化,进而读入了所有的表数据,占用大量IO和计算资源。
为了尽可能规避这种情况,我们可以利用了hive的hoo ...
Hive授权(Security配置)
博客分类: Hive分享
摘:https://cwiki.apache.org/Hive/languagemanual-auth.html
https://cwiki.apache.org/Hive/authdev.html
http://grokbase.com/t/hive/user/11aksphhas/authorization-and-remote-connection-on-cdh3u1
HIVE授权管理,类似于操作系统权限可以授予给不同的主题,如用户(USER),组(GROUP),角色(ROL ...
今天在看HIVE授权管理时看到一个概念:文件权限掩码(umask)
细看了一下,大概是这样一个意思:
umask需要一个相逆过程和文件的x位设置问题
Xml代码 收藏代码
功能说明:指定在建立文件时预设的权限掩码。
语 法:umask [-S][权限掩码]
补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
参 数:
-S 以文字的方式来表示权限掩码。
文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入。
例一 ...
hive静态分区和动态分区的特点
- 博客分类:
- hive
hive中的静态分区与动态分区
分类: hadoop+hive+hbase 2012-03-15 10:45 2532人阅读 评论(0) 收藏 举报
mapreducedateinserttablejobsinput
hive中创建分区表没有什么复杂的分区类型(范围分区、列表分区、hash分区、混合分区等)。分区列也不是表中的一个实际的字段,而是一个或者多个伪列。意思是说在表的数据文件中实际上并不保存分区列的信息与数据。
下面的语句创建了一个简单的分区表:
create table partition_test
(member_id string,
name string
)
partitio ...
Hive 并发模型
使用案例
并发支持 (http://issues.apache.org/jira/browse/HIVE-1293) 是数据库的必须,而且他们的使用案例很好懂。至少,我们要尽可能支持并发读和写。添加几个发现当前已经锁定的锁,是有用的。这里没有一个直接的需求添加一个API显式获取锁,所以,所有锁都是隐式获取的。
hive定义一下模式的锁(注意不需要意向锁)
共享 (S)
排他 (X)
见名知意,多个共享锁可以同时获取,而排他锁会阻塞其他锁。
兼容性列表如下:
*
Existing Lock S X
Requested Lock
*
*
*
S
*
True Fals ...
在Linux操作系统下面,如果用户删除了某一个文件或者是某一个文件目录,操作系统并不会把这文件从文件系统中真正删除,而是先把它放入回收站中,这样在用户误操作的情况下还能找回原文件,以防止给用户造成中大损失 ...
1. org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0.0.0.0:10000
问题:hive --service hiveserver 启动hiveserver服务
解决方法:端口被占用 ,kill 该端口进程或者重新制定端口 hive --service hiveserver -p 10001
2. Error in metadata: java.lang.RuntimeException: Unable to inst ...
Map.Entry的使用方法
- 博客分类:
- java
你是否已经对每次从Map中取得关键字然后再取得相应的值感觉厌倦?使用Map.Entry类,你可以得到在同一时间得到所有的信息。标准的Map访问方法如下:
Set keys = map.keySet( );if(keys != null) {Iterator iterator = keys.iterator( );while(iterator.hasNext( )) {Object key = iterator.next( );Object value = map.get(key);;....;}}
然后,这个方法有一个问题。从Map中取得关键字之后,我们必须每次重复返回到Map中取得相对的 ...
hive常用设置参数
- 博客分类:
- hive
hadoop 常用参数整理 (2013-01-16 15:06:22)转载▼
标签: 杂谈 分类: hadoop
hadoop 版本1.03
hadoop.tmp.dir ---> mapred-site.xml
默认值: /tmp
说明: 尽量手动配置这个选项,否则的话都默认存在了里系统的默认临时文件/tmp里。并且手动配置 ...
Hive文件存储格式的测试比较
博客分类: Hive分享
整理了一下网上的几种Hive文件存储格式的性能与Hadoop的文件存储格式。
Hive的三种文件格式:TEXTFILE、SEQUENCEFILE、RCFILE中,TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的,RCF ...
hive内连接和左半链接不一致的问题
- 博客分类:
- hive
一、理论
HIVE中都是按等值连接来统计的,理论上两种写法统计结果应该是一致的;
二、实际情况
但实际使用中发现两种写法会返回的结果,总会有一些差距虽然差别不大,但让人很是困惑。
三、原因
当使用join on的时候,如果右表有重复数据就会关联更多的数据,因为它们都符合join on上的条件;
而使用left semi join的时候,当join左侧表中的记录在join右侧表上查询到符合条件的记录就会返回,而不会再继续查找右侧表中剩余记录了,所以即使右侧表中有重复,也不会对统计结果有啥影响。
hive执行流程入口 源码入口
- 博客分类:
- hive
图片地址 :http://hi.csdn.net/attachment/201107/29/0_1311922740tXqK.gif
CliDriver可以说是hive的入口,对应上图中的UI部分。大家看它的结构就可以明白了,main()函数!对!你猜的没错就是从main()开始。
下图是类结构,总共有五个关键的 ...
hive 全排序 优化
分类: hive hadoop hadoop 2013-01-28 20:11 717人阅读 评论(0) 收藏 举报
hive hadoop
目录(?)[+]
使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下,因为不熟悉数据特性,或没有遵循Hive的优化约定,Hive计算任务会变得非常低效,甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。
有一些大家比较熟悉的优化约定包括:Join中需要将大表写在靠右的位置;尽量使用UDF而不是transfrom……诸如此类。下面讨论5个性能和逻辑相关的问题,帮助你写出 ...