在linux中,在JAVA中编程,耗时的不是代码的编写而是环境的搭建,版本的选择。。。昨天eclipse突然抽风在linux运行不起来,耗了几个小时,试了各种办法、、。现在windows环境进行编码。JDK为1.7
-
首先新建一个Java project 。
-
手动导入hadoop的jar包,位置在hadoop解压文件的share文件下。主要是common中的hadoop-common-2.4.1包和common目录下lib文件中所有的包,lib里面是hadoop-common-2.4.1相关联的包;已经hdfs中的hadoop-hdfs-2.4.1包和下面的lib文件中所有包。
-
-
在项目中见一个hdfsUtil类,用以操作hdfs中的文件。
public static void main(String[]args)throws Exception{
//读取classpath下的xxx-site.xml 配置文件,并解析其内容,封装到conf对象中
//也可以在代码中对conf中的配置信息进行手动设置,会覆盖掉配置文件中的读取的值
Configuration conf= new Configuration();
FileSystem fs=FileSystem.get(conf);
//根据配置信息,去获取一个具体文件系统的客户端操作实例对象
Path src=new Path("hdfs://weekend110:9000/apache-hive-0.14.0-bin.tar.gz");
FSDataInputStream in=fs.open(src);
FileOutputStream os=new FileOutputStream("/home/hadoop/Downloads/apache.tar.gz");
IOUtils.copy(in, os);
}
5.然后我们在linux的/home/hadoop/Downloads/目录下发现apache.tar.gz文件等于apache-hive-0.14.0-bin.tar.gz的大小。
6.此列验证只要把hadoop中相关的jar包导入到java的IDE中,可以通过代码来操作hadoop中的数据,hadoop是用java语音开发的他们之间具有天然的相容性。
7.这为以后通过JAVA编程的方式对数据的收集,整理,清洗,分析提供便利。