使用JAVA客户端对HDFS进行代码编写(五)

时间:2024-09-01 08:36:14

在linux中,在JAVA中编程,耗时的不是代码的编写而是环境的搭建,版本的选择。。。日了苍天,昨天eclipse突然抽风在linux运行不起来,耗了几个小时,试了各种办法、、。现在windows环境进行编码。JDK为1.7

  1. 首先新建一个Java project 。

  2. 手动导入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文件中所有包。

  3. 使用JAVA客户端对HDFS进行代码编写(五)

  4. 在项目中见一个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编程的方式对数据的收集,整理,清洗,分析提供便利。