试编写程序使用URL方式从HDFS读取一个文件。
时间: 2024-05-14 19:13:14 浏览: 90
python读取hdfs上的parquet文件方式
可以使用以下的Java代码实现:
```
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.io.IOUtils;
import java.net.URI;
import java.io.InputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class HDFSURLFileReader {
public static void main(String[] args) throws Exception {
String hdfsUrl = "hdfs://<namenode>:<port>/"; // HDFS的URL
String filePath = "/path/to/file"; // 文件路径
Configuration conf = new Configuration();
FileSystem fs = FileSystem.get(new URI(hdfsUrl), conf);
Path file = new Path(hdfsUrl + filePath);
FSDataInputStream inStream = fs.open(file);
BufferedReader reader = new BufferedReader(new InputStreamReader(inStream));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
fs.close();
}
}
```
其中,`hdfsUrl`是HDFS的URL(格式为`hdfs://<namenode>:<port>/`),`filePath`是要读取的文件路径(例如`/test/file.txt`)。程序会输出文件的每一行内容,可以将其改为任意处理代码。
阅读全文