虽然并不打算使用JAVA深入的开发Mapreduce程序,但经过这几日的了解,总觉得,如果不写几段MapReduce程序,也许真的不能很好理解HADOOP的一些思想。用PIG或Hive时,很多时候,察觉不到HDFS的存在。
从网上找了一段读写HDFS的代码,来自《HADOOP实战》一书。因为之前没有任何JAVA编程的基础,所以今天的目标更多是搭建一个JAVA的开发环境,能够将COPY的代码编译,并跑起来。
在网上看到的资料,一直谈到hadoop-eclipse-plugin,但很遗憾,在HADOOP2.2.0中实在是没有找到,在CSDN倒是找到一个,可惜在我的环境中无法使用。直到在http://stackoverflow.com/questions/20021169/hadoop-2-2-0-eclipse-plugin这里看到There is no eclipse plugin for 2.2.0 its still in development stage but you cna try intellj which is also nice dev tool for java。
跟着链接到了http://vichargrave.com/intellij-project-for-building-hadoop-the-definitive-guide-examples/,下载了IntelliJ IDEA 13。参考文中内容做如下设置。感觉就像在C里编译时include。
然后把如下代码copy进去,研读代码了解功能,并添加注释
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class PutMerge {
public static void main(String[] args) throws IOException {
Configuration conf = new Configuration();
FileSystem hdfs = FileSystem.get(conf);
FileSystem local = FileS