`
yugouai
  • 浏览: 492359 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
文章列表
        最近对Generic UDAF思索了一下,感觉最关键的是理解UDAF执行的每一步过程的输入与输出,其实步骤根据说明来编写相关代码就基本没问题,但是需要注意的是,数据类型需要统一,建议使用 Hadoop 数据类型,即分布式对象。实践中证实使用writable系列的类型比java系列的类型简单. 不要尝试同时使用二种系列的类型, 中间容易出现ClassCastException.                  编写步骤:        0)在resolver对输入数据(类型、个数)加以判断         1)首先分析数据从原始数据到最后输出所需的步骤         ...

短期规划

规划: 部门技术体系:        现在首先是将现有的技术理一遍,分类权重,根据优先级学习或者是巩固已经了解的,编写学习文档做笔记。        1.先将hadoop复习一遍,感觉没怎么写MR,主要是Hadoop的一些命令操作和HDFS,不过深入了解一遍还是很有好处的,这部分花2周去完成。         2.Hive这段时间有复习,但是Hive的Generic自定义函数编写还是总感觉不太熟悉,需要深入了解一下,大概用一周的时间去完成。         3.Nginx,一直对这块有兴趣,但是没有坚持去弄懂,这么优秀的服务器,值得去深入了解,大概花2周去了解一下简单的原理和使用。 ...
  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是否可以同时运行,默认是 ...
遍历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 ...
  摘: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图标莫名其妙的不显示,其他操作都正常。在网上搜了一些方法。   解决方法一(失败): 升级最新版本,我的本来就是最新版本   解决方法二(失败): 右键->TortoiseSVN->setting->Icon Overlays->Status cache-& ...

Hive索引Demo

  一、创建表 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索引

一、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文件存储格式包括以下几类:     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是顺 ...
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 ...
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有两种UDAF:简单和通用。顾名思义,简单的 UDAF,写的相当简单的,但因为使用Java反射导致性能损失,而且有些特性不能使用,如可变长度参数列表。通用UDAF可以使用​​所有功能,但是 UDAF就写的比较复杂,不直观。   UDAF是需要在hive的sql语句和group by联合使用,hive的group by对于每个分组,只能返回一条记录,这点和mysql不一样,切记。   UDAF开发概览 开发通用UDAF有两个步骤,第一个是编写resolver类,第二个是编写evaluator ...
Global site tag (gtag.js) - Google Analytics