hadoop - 使用 Java 连接到 Hadoop

标签 hadoop hive bigdata

如何在 Java 程序中连接到 Hadoop。 这里有一些细节: 我正在以 html 形式从用户那里获取输入,使用 JSP 来处理表单数据。我想连接到 hadoop 以根据表单输入获取一些数据。 在这种情况下,如何使用 Java 连接到 Hadoop?

最佳答案

看你对Hadoop的理解。 Hadoop 可以以多种方式存储数据,它可以只是 hdfs(Hadoop 分布式文件系统)中的文件,也可以是 HiveHbase< 中的表。从 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>

关于hadoop - 使用 Java 连接到 Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38624298/

相关文章:

scala - 如何在 Spark 上执行大型计算

algorithm - 在大型数据集上有效计算分段回归

java - JavaLDAExample不起作用

hadoop - 如何运行mapreduce矩阵乘法示例

hadoop - 如何将值放入 hbase 中的多个列族中

hadoop - 我们如何使用 hive 获取 1000 个表的描述?

hadoop - 运行配置单元查询时收到以下错误。可能是什么原因造成的?

postgresql - 为什么 postgresql 写入巨大的临时文件并在循环中填满我的磁盘?

java - 如何使用Java API从hbase中的表中选择特定列

mysql - SQL WHERE 帮助 : how do i pull data from multiple rows in one single query?