- 博客(11)
- 资源 (12)
- 问答 (2)
- 收藏
- 关注
原创 Hive Streaming
1.Hive Streaming介绍在前面我们看到了UDF、UDTF、UDAF的实现并不是很简单,而且还要求对Java比较熟悉,而Hive设计的初衷是方便那些非Java人员使用。因此,Hive提供了另一种数据处理方式——Streaming,这样就可以不需要编写Java代码了,其实Streaming处理方式可以支持很多语言。但是,Streaming的执行效率通常比对应编写的UDF或改写Input
2016-01-20 17:50:15 4902
原创 Hive UDF教程(三)
1.UDAF前两节分别介绍了基础UDF和UDTF,这一节我们将介绍最复杂的用户自定义聚合函数(UDAF)。用户自定义聚合函数(UDAF)接受从零行到多行的零个到多个列,然后返回单一值,如sum()、count()。要实现UDAF,我们需要实现下面的类:org.apache.hadoop.hive.ql.udf.generic.AbstractGenericUDAFResolvero
2016-01-19 10:25:08 3451
原创 Hive UDF教程(二)
1.UDTF上一篇介绍了基础的UDF——UDF和GenericUDF的实现,这一篇将介绍更复杂的用户自定义表生成函数(UDTF)。用户自定义表生成函数(UDTF)接受零个或多个输入,然后产生多列或多行的输出,如explode()。要实现UDTF,需要继承org.apache.hadoop.hive.ql.udf.generic.GenericUDTF,同时实现三个方法:// 该方法指定输入
2016-01-18 17:27:41 3060 2
原创 Hive UDF教程(一)
1.Hive UDF简介在Hive中,用户可以自定义一些函数,用于扩展HiveQL的功能,而这类函数叫做UDF(用户自定义函数)。UDF分为两大类:UDAF(用户自定义聚合函数)和UDTF(用户自定义表生成函数)。在介绍UDAF和UDTF实现之前,我们先在本章介绍简单点的UDF实现——UDF和GenericUDF,然后以此为基础在下一章介绍UDAF和UDTF的实现。Hive有两个不同的接口
2016-01-17 16:44:31 20413 1
原创 最大团算法(Maximum Clique)
1.问题描述最大团问题是图论中一个经典的组合优化问题,也是一类NP完全问题。在Wikipedia中Clique Problem的描述如下:In computer science, the clique problem refers to any of the problems related to finding particular complete subgraphs ("clique
2016-01-15 11:27:50 12101
原创 Hive报错集锦
1.Terminal initialization failed; falling back to unsupported在启动Hive时报错:Terminal initialization failed; falling back to unsupported解决方法:我看的有博客说是Hadoop的share/hadoop/yarn/lib/jline-0.9.94.jar版本太
2016-01-10 15:02:20 10544 2
原创 浮点数陷阱
今天在用Hive的时候,发现浮点数比较有个陷阱,即FLOAT类型和DOUBLE类型的比较。如果我不刻意问的话,大家估计大部分人都认为FLOAT类型的0.2和DOUBLE类型的0.2相等。事实上不是这样的,这是后来我在《Programming Hive》中找到的答案。想知道更多细节,且听我下面细细道来。比如,我们定义了一个FLOAT类型的变量f = 0.2,和DOUBLE类型的变量 d =
2016-01-08 14:42:06 1813
原创 Spark源码系列之Spark内核——Shuffle
在Hadoop中有一个阶段——Shuffle,Shuffle存在于Map和Reduce之间。同样在Spark中也存在Shuffle,而且Shuffle影响着Job的性能。尽管Spark尽可能的减少Shuffle,但是操作却需要Shuffle来完成(如,groupByKey、sortByKey、reduceByKey、distinct等)。假设有Map Tasks=M,Reduce Tasks=
2016-01-07 11:21:36 988
原创 Shell字符串操作大全
1.字符串声明一般字符串声明时,都会赋值str='test'但是在脚本运行中,为了避免出现引用为声明的字符串变量时,可以在如下处理:#如果str没声明,则输出DEFAULTecho "${str=DEFAULT}"#DEFAULT2.字符串长度str=‘abc,def,ghi,abcjkl’#字符串长度echo ${#str}#183.字符串截取
2016-01-05 16:51:04 19657 1
原创 Spark源码系列之Spark内核——Storage模块
1.Storage模块架构Storage模块分为两部分:通信层:Storage模块的通信层通过Master/Slave模型实现的。Master和Slave之间传输控制信息、状态信息。存储层:Storage模块可以数据存储在Memory或Disk上,可能还会replicate到远程服务器上。2.通信层BlockManager包装了BlockManagerMaster,发送
2016-01-04 16:22:18 1532
原创 Spark源码系列之Spark内核——Task运行
在详细介绍前,还是让我们先看看Task运行的流程,先有个整体的感觉:Executor收到序列化的Task后,先反序列化取出正常的Task,然后运行Task得到执行结果directResult,这个结果要送到Driver那里。但是发送的数据包不宜过大,通过对directResult大小的判断,进行不同的处理。如果directResult比较大,就把directResult存放到本地“Me
2016-01-02 14:40:36 1113
快学Scala(中文完整版)
2015-09-30
Spark Programming Guide
2015-08-15
用Gradle构建的代码在Intellij上执行出错
2021-02-24
Ubuntu21.0.4LTS中下面脚本为什么只执行if,而不执行elii
2014-11-22
TA创建的收藏夹 TA关注的收藏夹
TA关注的人