赞
踩
1.HDFS的java访问接口
1)org.apache.hadoop.conf.Configuration
读取、解析配置文件(如core-site.xml/hdfs-default.xml/hdfs-site.xml等),或添加配置的工具类。
2)org.apache.hadoop.fs.FileSystem
代表分布式文件系统的一个实例,是一个通用的文件系统API,提供了不同文件系统的统一访问方式。
3)org.apache.hadoop.fs.Path
是Hadoop文件系统中统一的文件或目录描述,类似于java.io.File对本地文件系统的文件或目录描述。
4)org.apache.hadoop.fs.FSDataInputStream
对Hadoop中数据输入流的统一封装
5)org.apache.hadoop.fs.FSDataInputStream
对Hadoop中数据输出流的统一封装
2.java访问HDFS主要编程步骤
1)构建Configuration对象,读取并解析相关配置文件
Configuration conf = new Configuration();
2)设置相关属性
conf.set("fs.defaultFS","hdfs://192.168.1.113:8020");
3)获取特定文件系统实例fs(以HDFS文件系统实例)
FileSystem fs=FileSystem.get(URI.create("hdfs://192.168.1.113:8020/user/root/input/words"), conf);
4)通过文件系统实例fs进行文件操作(以删除文件实例)
fs.delete(new Path("/user/root/someWords.txt"));
3.操作实例
1)查询HDFS集群文件系统中一个文件,并打印文件内容
首先在文件系统中确保所要读取的文件存在
java编码读取
package com.jf.hdfs;
import java.io.IOException;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class CatHdfsFile {
private static String file = "hdfs://192.168.1.113:8020/user/root/input/words";
public static void main(String[] args) throws IOException {
//Configuration是读取、解析配置文件(如core-site.xml/hdfs-default.xml/hdfs-site.xm
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。