Tag Archives: Hadoop

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

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

在实际应用中,我们经常会出现一条Record中包含多行的情况,例如:

此时,需要拓展TextInputFormat以完成这个功能。

先来看一下原始实现:

根据上面的代码, 不难发现,换行符实际上是由”textinputformat.record.delim[……]

继续阅读

Hive中找出Table和Partition的真实路径。

在Hive中,如果使用了External Table或者Partition,那么路径是不在自己的hive warehouse下的。

 

如何在Hadoop中控制map的个数

转载自:如何在hadoop中控制map的个数

hadoop提供了一个设置map个数的参数mapred.map.tasks,我们可以通过这个参数来控制map的个数。但是通过这种方式设置map的个数,并不是每次都有效的。原因是mapred.map.tasks只是一个hadoop的参考数值,最终map的个数,还取决于其他的因素。
为了方便介绍,先来看几个名词:
block_size : hdfs的文件块大小,默认为64M,可以通过参数dfs.block.size设置
total_size[……]

继续阅读

Mahout – Clustering (聚类篇)

什么是Mahout?

” Apache Mahout™ project’s goal is to build a scalable machine learning library ”

我来拓展一下:
(1) Mahout 是Apache旗下的开源项目,集成了大量的机器学习算法。
(2) 大部分算法,可以运行在Hadoop上,具有很好的拓展性,使得大数据上的机器学习成为可能。

本篇主要探讨 Mahout 0.9 中的聚类(Clustering)工具的用法。

一、数据准[……]

继续阅读

升级到JDK 7后,Sort出现兼容性问题的解法。

在昨天的文章 TimSort in Java 7 中,我们讨论了升级到JDK 7后,Collection的sort方法,出现兼容性问题的原因。

究其根本,还是我们写的compare函数不够严谨。

本文主要针对Hadoop、Hive,从系统的部署、配置层面提出一些解法。

1、Hive

在执行前,指定JVM选项。

2、Hadoop

修改mapred-site.xml,增加选项。
[crayon-5a[……]

继续阅读