您的位置:首页 > 大数据 > Hadoop

Hadoop-Java进行HDFS文件操作

2020-07-14 05:17 246 查看

Java进行HDFS文件操作


网盘提取:
链接: https://pan.baidu.com/s/1gbgasTMipzF8moVfSrB8Dw 提取码: heqb

配置pom.xml

中下载依赖包

查询所需要的依赖

<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>2.6.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs -->
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-hdfs</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>

Java进行HDFS文件操作

在main目录下创建resource文件夹-Project Structure

提前打开虚拟机,启动hadoop。

//创建文件夹
@Test
public void testMkdir() throws Exception {
//创建配置文件
Configuration conf = new Configuration();
//获取文件系统
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root");
//调用API操作
fs.mkdirs(new Path("/user/java"));
//关闭资源
fs.close();
}

@Test
public void testCopyFromLocalFile() throws Exception {
//创建配置文件
Configuration conf = new Configuration();
//获取文件系统
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root");
//调用API操作
fs.copyFromLocalFile(new Path("C:\\Users\\think\\Desktop\\log4j.properties"),new Path("/user/java"));
//关闭资源
fs.close();
}

//下载
@Test
public void testXia() throws Exception {
//创建配置文件
Configuration conf = new Configuration();
//获取文件系统
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root");
//调用API操作
fs.copyToLocalFile(new Path("/b.txt"),new Path("C:/Users/think/Desktop/data/c.txt"));
//关闭资源
fs.close();
}

//删除
@Test
public void testShan() throws Exception {
//创建配置文件
Configuration conf = new Configuration();
//获取文件系统
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.65.111:9000"),conf,"root");
//调用API操作,b:是否递归删除、
fs.delete(new Path("/user"),true);

//关闭资源
fs.close();
}

测试的时候,下载测试时候出现java.lang.NullPointerException
自己解决方式
在windows下解压hadoop-2.6.0-cdh5.14.2.tar,hadoopBin
把解压后的hadoopBin文件:

全部复制到hadoop-2.6.0-cdh5.14.2/bin目录下:

配置环境(win10):右键此电脑-属性-高级系统设置-环境变量
系统变量:新增HADOOP_HOME:路径是hadoop-2.6.0-cdh5.14.2路径
Path变量中加入%HADOOP_HOME%\bin和%HADOOP_HOME%\sbin:

然后重新打开idea-运行下载测试

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: