如何在Java程序中连接到Hadoop。以下是一些详细信息:我正在以html表单的形式接受用户的输入,并使用JSP处理表单数据。我想连接到hadoop以基于表单输入获取一些数据。在这种情况下,如何使用Java连接到Hadoop?
取决于您对Hadoop的了解。Hadoop的可以通过多种方式存储数据,它可以在短短的一个文件hdfs
(Hadoop分布式文件系统),也可以是一个表Hive
或Hbase
。有一个最简单的代码可以从hdfs中读取文件:
import org.apache.commons.io.IOUtils;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class HdfsFileReader {
private static final String NAME_NODE = "hdfs://nameNomeHost:8020";//nameNomeHost = localhost if you use hadoop in local mode
public static void main(String[] args) throws URISyntaxException, IOException {
String fileInHdfs = args[0];
FileSystem fs = FileSystem.get(new URI(NAME_NODE), new Configuration());
String fileContent = IOUtils.toString(fs.open(new Path(fileInHdfs)), "UTF-8");
System.out.println("File content - " + fileContent);
}
}
您需要的Maven依赖项:
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句