一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - JAVA操作HDFS案例的簡單實現

JAVA操作HDFS案例的簡單實現

2020-12-12 16:55mmd0308 Java教程

本篇文章主要介紹了JAVA操作HDFS案例的簡單實現,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了JAVA操作HDFS案例的簡單實現,分享給大家,也給自己做個筆記

Jar包引入,pom.xml:

 
?
1
 
2
3
4
5
6
7
8
9
10
<dependency>
 <groupId>org.apache.hadoop</groupId>
 <artifactId>hadoop-common</artifactId>
 <version>2.8.0</version>
</dependency>
<dependency>
 <groupId>org.apache.hadoop</groupId>
 <artifactId>hadoop-hdfs</artifactId>
 <version>2.8.0</version>
</dependency>

將本地文件上傳到hdfs服務器:

 
?
1
 
2
3
4
5
6
7
8
9
10
/**
 * 上傳文件到hdfs上
 */
@Test
public void upload() throws IOException {
  Configuration conf = new Configuration();
  conf.set("fs.defaultFS","hdfs://hzq:9000");
  FileSystem fs = FileSystem.get(conf);
  fs.copyFromLocalFile(new Path("/home/hzq/jdk1.8.tar.gz"),new Path("/demo"));
}

解析:

在開發中我沒有引入“core-site.xml”配置文件,所以在本地調用時使用conf進行配置“conf.set("fs.defaultFS","hdfs://hzq:9000");“,下面雷同。

將hdfs上文件下載到本地:

 
?
1
 
2
3
4
5
6
7
8
9
10
/**
 * 將hdfs上文件下載到本地
 */
@Test
public void download() throws IOException {
  Configuration conf = new Configuration();
  conf.set("fs.defaultFS","hdfs://hzq:9000");
  FileSystem fs = FileSystem.newInstance(conf);
  fs.copyToLocalFile(new Path("/java/jdk1.8.tar.gz"),new Path("/home/hzq/"));
}

刪除hdfs上指定文件:

 
?
1
 
2
3
4
5
6
7
8
9
10
11
/**
 * 刪除hdfs上的文件
 * @throws IOException
 */
@Test
public void removeFile() throws IOException {
  Configuration conf = new Configuration();
  conf.set("fs.defaultFS","hdfs://hzq:9000");
  FileSystem fs = FileSystem.newInstance(conf);
  fs.delete(new Path("/demo/jdk1.8.tar.gz"),true);
}

在hdfs上創建文件夾:

 
?
1
 
2
3
4
5
6
7
8
9
10
11
/**
 * 在hdfs更目錄下面創建test1文件夾
 * @throws IOException
 */
@Test
public void mkdir() throws IOException {
  Configuration conf = new Configuration();
  conf.set("fs.defaultFS","hdfs://hzq:9000");
  FileSystem fs = FileSystem.newInstance(conf);
  fs.mkdirs(new Path("/test1"));
}

列出hdfs上所有的文件或文件夾:

 
?
1
 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
@Test
  public void listFiles() throws IOException {
    Configuration conf = new Configuration();
    conf.set("fs.defaultFS","hdfs://hzq:9000");
    FileSystem fs = FileSystem.newInstance(conf);
    // true 表示遞歸查找 false 不進行遞歸查找
    RemoteIterator<LocatedFileStatus> iterator = fs.listFiles(new Path("/"), true);
    while (iterator.hasNext()){
      LocatedFileStatus next = iterator.next();
      System.out.println(next.getPath());
    }
    System.out.println("----------------------------------------------------------");
    FileStatus[] fileStatuses = fs.listStatus(new Path("/"));
    for (int i = 0; i < fileStatuses.length; i++) {
      FileStatus fileStatus = fileStatuses[i];
      System.out.println(fileStatus.getPath());
    }
  }

運行結果:

JAVA操作HDFS案例的簡單實現                                    

結果分析:

“listFiles“列出的是hdfs上所有文件的路徑,不包括文件夾。根據你的設置,支持遞歸查找。

  ”listStatus“列出的是所有的文件和文件夾,不支持遞歸查找。如許遞歸,需要自己實現。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/mmd0308/article/details/74276564?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲精品私拍国产福利在线 | 精品视频网站 | 色色色资源站 | ts人妖另类国产 | 色婷婷激婷婷深爱五月老司机 | 亚洲国产成人超福利久久精品 | 国产亚洲精品美女 | 国产成人愉拍免费视频 | 办公室强行丝袜秘书啪啪 | 精品亚洲欧美中文字幕在线看 | 無码一区中文字幕少妇熟女网站 | np高h疯狂黄暴宫口 narutomanga玖辛奈之乳 | 亚洲AV 日韩 国产 有码 | 男人与雌性宠物交啪啪小说 | 爽好舒服快想要免费看 | 国产一级免费片 | 国产精品久久久久久搜索 | 日韩福利网站 | 免费日批视频 | 884hutv四虎永久7777 | 久久热在线视频精品店 | 校花被扒开尿口折磨憋尿 | 小仙夜晚慰自催眠mp3护士篇 | 99久在线| 唯美清纯 自拍偷 | 含羞草传媒网站免费进入欢迎 | 久久婷婷丁香五月色综合啪免费 | 九九热视频 这里有精品 | 1024国产基地永久免费 | 无人区在线观看免费视频国语 | 国产在线看片网站 | 91短视频社区在线观看 | 久久久久久久国产精品视频 | 亚洲精品视频免费在线观看 | 精品一区二区视频 | 好大好硬好长好爽a网站 | 摸进老太婆的裤裆小说 | 青柠影视在线播放观看高清 | 亚洲国产精品嫩草影院永久 | 91李宗精品72集在线观看 | 激情影院费观看 |