- 浏览: 499259 次
- 性别:
- 来自: 深圳
最新评论
-
IT_LDB:
哥们你帮我大忙了,谢啦。一直在尝试使用内嵌的disco ...
FaceBook PrestoDB 安装文档 -
wxcking:
yugouai 写道wxcking 写道请问,Windows下 ...
阿里DataX编译与案例 -
yugouai:
wxcking 写道请问,Windows下怎么配置呢?Data ...
阿里DataX编译与案例 -
wxcking:
请问,Windows下怎么配置呢?
阿里DataX编译与案例 -
developerinit:
总结的非常好,每次都来看
HIVE中的排序细谈
文章列表
最近对Generic UDAF思索了一下,感觉最关键的是理解UDAF执行的每一步过程的输入与输出,其实步骤根据说明来编写相关代码就基本没问题,但是需要注意的是,数据类型需要统一,建议使用 Hadoop 数据类型,即分布式对象。实践中证实使用writable系列的类型比java系列的类型简单. 不要尝试同时使用二种系列的类型, 中间容易出现ClassCastException.
编写步骤: 0)在resolver对输入数据(类型、个数)加以判断
1)首先分析数据从原始数据到最后输出所需的步骤
...
规划:
部门技术体系:
现在首先是将现有的技术理一遍,分类权重,根据优先级学习或者是巩固已经了解的,编写学习文档做笔记。
1.先将hadoop复习一遍,感觉没怎么写MR,主要是Hadoop的一些命令操作和HDFS,不过深入了解一遍还是很有好处的,这部分花2周去完成。
2.Hive这段时间有复习,但是Hive的Generic自定义函数编写还是总感觉不太熟悉,需要深入了解一下,大概用一周的时间去完成。
3.Nginx,一直对这块有兴趣,但是没有坚持去弄懂,这么优秀的服务器,值得去深入了解,大概花2周去了解一下简单的原理和使用。
...
HIVE调优的两个好用参数
- 博客分类:
- Hive分享
HIVE调优有两点是很好用的
摘:https://speakerdeck.com/philiptromans/hive-optimisation-tips-tricks
1.MapJoin
旧版本HIVE需要自行在查询/子查询的SELECT关键字后面添加/*+ MAPJOIN(tablelist) */提示优化器转化为MapJoin。高版本只需设置:
set hive.auto.convert.join=true;
HIVE自行选择小表作为LEFT的左表。
2.parallel
设置该参数是控制在同一个sql中的不同的job是否可以同时运行,默认是 ...
Shell递归遍历目录下文件
- 博客分类:
- linux编程
遍历linux某目录下的所有文件
#!/bin/bash
# $1是运行脚本时,输入的第一个参数,这里指的是使用者希望搜索的目录
# 下面的代码是对目录进行判断,如果为空则使用脚本所在的目录;否则,搜索用户输入的目录
if [[ -z "$1" ]] || [[ ! -d "$1" ]]; then
echo "The directory is empty or not exist!"
echo "It will use the current directory."
n ...
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),角色(ROLES),Hive还是支持相当多的权限管理功能,满足一 ...
今天在看HIVE授权管理时看到一个概念:文件权限掩码(umask)
细看了一下,大概是这样一个意思:
umask需要一个相逆过程和文件的x位设置问题
功能说明:指定在建立文件时预设的权限掩码。
语 法:umask [-S][权限掩码]
补充说明:umask可用来设定[权限掩码]。[权限掩码]是由3个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时预设的权限。
参 数:
-S 以文字的方式来表示权限掩码。
文件:用八进制基数666,即无x位(可执行位)rw- rw- rw-.执行位需由用户自行加入。
例一:设要生成的文件以rw- ...
svn图标不显示的解决方案
- 博客分类:
- 杂谈
最近发现svn图标莫名其妙的不显示,其他操作都正常。在网上搜了一些方法。
解决方法一(失败):
升级最新版本,我的本来就是最新版本
解决方法二(失败):
右键->TortoiseSVN->setting->Icon Overlays->Status cache-& ...
Hive索引Demo
- 博客分类:
- Hive分享
一、创建表
CREATE TABLE employees (
name STRING,
salary FLOAT,
subordinates ARRAY<STRING>,
deductions MAP<STRING, FLOAT>,
address STRUCT<street:STRING, city:STRING, state:STRING, zip:INT>
)
PARTITIONED BY (country STRING, state STR ...
一、Hive Index具体实现
索引是标准的数据库技术,hive 0.7版本之后支持索引。hive索引采用的不是'one size fites all'的索引实现方式,而是提供插入式接口,并且提供一个具体的索引实现作为参考。Hive的Index接口如下:
/**
* HiveIndexHandler defines a pluggable interface for adding new index handlers
* to Hive.
*/
public interface HiveIndexHandler extends Configurable {
/**
...
整理了一下网上的几种Hive文件存储格式的性能与Hadoop的文件存储格式。
Hive的三种文件格式:TEXTFILE、SEQUENCEFILE、RCFILE中,TEXTFILE和SEQUENCEFILE的存储格式都是基于行存储的,RCFILE是基于行列混合的思想,先按行把数据划分成N个row group,在row group中对每个列分别进行存储。另:Hive能支持自定义格式,详情见:Hive文件存储格式
基于HDFS的行存储具备快速数据加载和动态负载的高适应能力,因为行存储保证了相同记录的所有域都在同一个集群节点。但是它不太满足快速的查询响应时间的要求,因为当查询仅仅 ...
Hive文件存储格式
- 博客分类:
- Hive分享
hive文件存储格式包括以下几类:
TEXTFILE
SEQUENCEFILE
RCFILE
自定义格式
其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理。
SequenceFile,RCFile格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中,然后再从textfile表中用insert导入到SequenceFile,RCFile表中。
TEXTFIEL
默认格式,数据不做压缩,磁盘开销大,数据解析开销大。可结合Gz ...
hive.exec.parallel参数控制在同一个sql中的不同的job是否可以同时运行,默认为false.
下面是对于该参数的测试过程:
测试sql:
select r1.a
from (
select t.a from sunwg_10 t join sunwg_10000000 s on t.a=s.b) r1
join
(select s.b from sunwg_100000 t join sunwg_10 s on t.a=s.b) r2
on (r1.a=r2.b);
1 当参数为false的时候,三个job是顺 ...
Hive决定reducer个数的标准
- 博客分类:
- Hive分享
Hadoop MapReduce程序中,reducer个数的设定极大影响执行效率,这使得Hive怎样决定reducer个数成为一个关键问题。遗憾的是Hive的估计机制很弱,不指定reducer个数的情况下,Hive会猜测确定一个reducer个数,
基于以下两个设定:
1. hive.exec.reducers.bytes.per.reducer(默认为1000^3)
2. hive.exec.reducers.max(默认为999)
计算reducer数的公式很简单:
N=min(参数2,总输入数据量/参数1)
通常情况下,有必要手动指定reducer ...
Hive中UDTF的编写与使用
- 博客分类:
- Hive分享
1. UDTF介绍
UDTF(User-Defined Table-Generating Functions) 用来解决 输入一行输出多行(On-to-many maping) 的需求。
2. 编写自己需要的UDTF
继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF,实现initialize, process, close三个方法。
UDTF首先会调用initialize方法,此方法返回UDTF的返回行的信息(返回个数,类型)。
初始化完成后,会调用process方法,真正的处理过程在proc ...
hive udaf开发入门和运行过程详解
- 博客分类:
- Hive分享
介绍
hive的用户自定义聚合函数(UDAF)是一个很好的功能,集成了先进的数据处理。hive有两种UDAF:简单和通用。顾名思义,简单的 UDAF,写的相当简单的,但因为使用Java反射导致性能损失,而且有些特性不能使用,如可变长度参数列表。通用UDAF可以使用所有功能,但是 UDAF就写的比较复杂,不直观。
UDAF是需要在hive的sql语句和group by联合使用,hive的group by对于每个分组,只能返回一条记录,这点和mysql不一样,切记。
UDAF开发概览
开发通用UDAF有两个步骤,第一个是编写resolver类,第二个是编写evaluator ...