如何在jsp页面中访问存储在hdfs中的文本文件的内容? Web浏览器应显示存储在hdfs中的该文本文件的内容。
答案 0 :(得分:0)
任何与HDFS的互动都必须通过Hadoop的库来执行,或者使用Hadoop的WebHDFS。在您的情况下,假设您在一个可以轻松访问HDFS的节点上运行您的服务器(理想情况下,在该节点上您已经可以运行hadoop fs -ls hdfs:////
),您将要对{的代码进行编码{3}},确保您的Hadoop集群的hdfs-site.xml
和core-site.xml
可能位于服务器的类路径中,或明确填写conf:
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.BufferedReader;
...
Configuration conf = new Configuration();
conf.set("dfs.namenode.rpc-address", "<YOUR NAMENODE URI>");
conf.set("fs.default.name", "hdfs://<YOUR NAMENODE URI>/");
FileSystem fs = FileSystem.get(conf);
BufferedReader reader = new BufferedReader(
fs.open(new Path("/path/to/your/file/on/hdfs.txt")));
String lineOfText = reader.readLine();
...