gpt4 book ai didi

java - 在 Hadoop 中创建用于读取文件的输入流对象

转载 作者:可可西里 更新时间:2023-11-01 16:22:51 25 4
gpt4 key购买 nike

我的 Hadoop 文件系统中有一个文件,我需要创建一个 InputStream 对象,以便将其作为输入参数作为 ApiMethod(inputstreamObject) 传递给另一个 API。

我正在使用权威指南中提到的以下方法来创建输入流对象,但不起作用。

class test {

static {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory()); }

InputStream in = null;
try {
in = new URL("hdfs://host/path").openStream();
IOUtils.copyBytes(in, System.out, 4096, false);
Object = new ApiMethod(in);
} finally {
IOUtils.closeStream(in); }

}

请帮忙。

最佳答案

如果你只是想从 hadoop 中读取一个文件,让我们试试这个方法。从 hadoop 读取文件并将其写入本地路径或在屏幕上打印。

FileSystem fileSystem = FileSystem.get(conf);

Path path = new Path("/path/to/file");

FSDataInputStream in = fileSystem.open(path);
OutputStream out = new BufferedOutputStream(new FileOutputStream(
new File(fileOnLocal)));

byte[] b = new byte[1024];
int numBytes = 0;
while ((numBytes = in.read(b)) > 0) {
out.write(b, 0, numBytes);
}

in.close();
out.close();
fileSystem.close();

关于java - 在 Hadoop 中创建用于读取文件的输入流对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30168827/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com