Category Archives: Hadoop && Hive && HBase && Mahout

定制Hadoop的MapReduce任务的FileOutputFormat

需求:Reduce输出特殊的格式结果
例如:如Reducer的结果,压到Guava的BloomFilter中
import com.google.common.hash.BloomFilter;
import com.google.common.hash.Funnels;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.h[……]

继续阅读

Hive自定义UDF/UDAF/UDTF中,如何获得List的ObjectInspector

在Hive中,在使用GenercU**F实现自定义UDF/UDAF/UDTF时,经常要制定输出类型,其中要获得一个ObjectInspector。

对于基础类型:
PrimitiveObjectInspectorFactory.javaStringObjectInspector)
对于List等复合类型,要2步:
ObjectInspectorFactory
.getStandardListObjectInspector(PrimitiveObjectInspectorFa[……]

继续阅读

如何拓展Hadoop的InputFormat为其他分隔符

在Hadoop中,常用的TextInputFormat是以换行符作为Record分隔符的。

在实际应用中,我们经常会出现一条Record中包含多行的情况,例如:
<doc>
….
</doc>
此时,需要拓展TextInputFormat以完成这个功能。

先来看一下原始实现:
public class TextInputFormat extends FileInputFormat<LongWritable, Text> {[……]

继续阅读