【Hadoop】IDEA上读取虚拟机上的hdfs的文件

一、建立工程

在这里插入图片描述
使用Gradle建立一个普通的Java工程。当然如果你习惯使用Maven,你也可以用Maven。

二、更换镜像 添加依赖

repositories {
    
    maven { url 'https://maven.aliyun.com/repository/apache-snapshots' }
    maven { url 'https://maven.aliyun.com/repository/central' }
    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    maven { url 'https://maven.aliyun.com/repository/jcenter' }
    maven { url "https://maven.aliyun.com/repository/spring" }
    maven { url "https://maven.aliyun.com/repository/spring-plugin" }
    maven { url "https://maven.aliyun.com/repository/public" }
    mavenCentral()
}

dependencies {
    testCompile group: 'junit', name: 'junit', version: '4.12'
    
    compile group: 'org.apache.hadoop', name: 'hadoop-common', version: '3.2.0'
    compile group: 'org.apache.hadoop', name: 'hadoop-mapreduce-client-common', version: '3.2.0'

}

三、编写代码

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class Read {
    public static void main(String[] args) throws Exception {
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS", "hdfs://192.168.75.100:9000");
        FileSystem fs = FileSystem.get(conf);
        FSDataInputStream fis = fs.open(new Path("/input/g.txt"));
        IOUtils.copyBytes(fis,System.out,4096,true);
    }
}
  • 其中192.168.75.100是master的IP地址;
  • g.txt 是hdfs下input文件夹中的一个文件 ;
  • IOUtils是Hadoop提供的IO工具类。

猜你喜欢

转载自blog.csdn.net/HuaLingPiaoXue/article/details/89108301