hdfsjava代码 hdfs编程

怎么使用java代码直接将从外部拿到的数据存入hdfs

存入HDFS有好几种数据格式,我这里给你列出一种格式的存储,sequence的

创新新互联,凭借十载的网站建设、成都网站建设经验,本着真心·诚心服务的企业理念服务于成都中小企业设计网站有上千多家案例。做网站建设,选创新互联公司

public class SeqWrite {

private static final String[] data = { "a,b,c,d,e,f,g", "h,i,j,k,l,m,n", "o,p,q,r,s,t", "u,v,w,x,y,z", "0,1,2,3,4", "5,6,7,8,9" };

public static void main(String[] args) throws IOException, Exception {

Configuration configuration = new Configuration();

//这里是你主机的地址

configuration.set("fs.defaultFS", "192.168.51.140");

//这个是存储的路径

Path path = new Path("/tmp/test1.seq");

Option option = SequenceFile.Writer.file(path);

Option optKey = SequenceFile.Writer.keyClass(IntWritable.class);

Option optValue = SequenceFile.Writer.valueClass(Text.class);

SequenceFile.Writer writer = null;

IntWritable key = new IntWritable(10);

Text value = new Text();

writer = SequenceFile.createWriter(configuration, option, optKey, optValue);

for (int i = 0; i  data.length; i++) {

key.set(i);

value.set(data[i]);

writer.append(key, value);

writer.hsync();

Thread.sleep(10000L);

}

IOUtils.closeStream(writer);

}

}

使用java api调用HDFS文件系统时,遇到重复的代码,怎么解决

利用符集编码。

因为HDFS支持6种字符集编码,每个本地文件编码方式又是极可能不一样的,我们上传本地文件的时候其实就是把文件编码成字节流上传到文件系统存储。

使用Java API操作HDFS时,_方法用于获取文件列表?

当使用 Java API 操作 HDFS 时,可以使用 FileSystem.listFiles() 方法来获取文件列表。该方法接受一个 Path 对象,表示要列举文件的目录,并返回一个 RemoteIteratorLocatedFileStatus 对象,该对象可用于迭代目录中的文件。

例如,下面的代码演示了如何使用 listFiles() 方法来获取 HDFS 上的文件列表:

// 定义 HDFS 连接配置

Configuration conf = new Configuration();

// 获取 HDFS FileSystem 对象

FileSystem fs = FileSystem.get(conf);

// 定义要列举文件的目录

Path dirPath = new Path("/user/hadoop");

// 获取文件列表

RemoteIteratorLocatedFileStatus fileIter = fs.listFiles(dirPath, true);

// 遍历文件列表

while (fileIter.hasNext()) {

// 获取当前文件信息

LocatedFileStatus fileStatus = fileIter.next();

// 输出文件名称和大小

System.out.println(fileStatus.getPath().getName() + " : " + fileStatus.getLen());

}


当前文章:hdfsjava代码 hdfs编程
文章分享:http://ybzwz.com/article/dojjggh.html