前期準備:
一、前期準備
(1)Hadoop集群已配置完畢
(2)linux系統安裝jdk
(3)在linux系統中安裝并破解IntelliJ IDEA
二、通過JAVA API介面操縱HDFS
1.在IDEA中創建maven專案


2.設定組態檔
(1)修改pom.xml檔案匯入依賴如下,重繪,自動安裝hdfs所需包

(2)在hdfs專案的src->main->resources路徑下創建log4j2.xml日志檔案,添加內容如下

3.在hdfs專案的src->main->java路徑下創建com.min.hadoop包,然后在com.min.hadoop包下創建HdfsUtil.java、test.java實作hdfs的檔案操作,專案目錄結構如下圖

4.HdfsUtil.java檔案實作了hdfs檔案的上傳、下載、洗掉、創建以及重命名操作,源代碼如下
package com.min.hadoop;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class HdfsUtil {
private FileSystem fs;
HdfsUtil(String user){
Configuration cfg = new Configuration();
URI uri = null;
try {
uri = new URI("hdfs://Hadoop1:9000");
} catch (URISyntaxException e) {
e.printStackTrace();
}
try {
// 根據組態檔,實體化成DistributedFileSystem
fs = FileSystem.get(uri, cfg, user); // 得到fs句柄
} catch (IOException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/**
* 上傳檔案
*/
public void upload(String src, String dst){
try {
// 上傳
fs.copyFromLocalFile(new Path(src), new Path(dst));
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 下載檔案
*/
public void download(String src, String dst){
try {
// 下載
fs.copyToLocalFile(new Path(src), new Path(dst));
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 創建檔案夾
*/
public void mkdir(String dir){
try {
fs.mkdirs(new Path(dir));
} catch (IOException e) {
// 創建目錄
e.printStackTrace();
}
}
/**
* 洗掉檔案
*/
public void delete(String name, boolean recursive){
try {
fs.delete(new Path(name), recursive);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 重命名
*/
public void rename(String source, String dst){
try {
fs.rename(new Path(source), new Path(dst));
} catch (IOException e) {
e.printStackTrace();
}
}
}
5.test1.java檔案創建主函式向hdfs上傳檔案1.txt
(1)上傳檔案代碼

(2)運行成功

(3)網頁端查看

6.test1.java檔案創建主函式從hdfs下載檔案到桌面并命名為hadoop.txt
(1)下載檔案代碼

(2)linux桌面查看

7.test1.java檔案創建主函式在hdfs的根目錄下創建檔案夾bhn
(1)創建檔案夾代碼

(2)網頁端查看

8.test1.java檔案創建主函式洗掉hdfs上根目錄下的1.txt檔案
(1)洗掉檔案代碼

(2)網頁端查看

9.test1.java檔案創建主函式在hdfs上將bhn重命名為baihongna
(1)重命名檔案代碼

(2)網頁端查看

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/403911.html
標籤:其他
