最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

hdfs集成springboot使用方法

 更新時間:2024年03月30日 10:17:25   作者:鴻12321  
這篇文章主要介紹了hdfs集成springboot使用,配置Configuration信息分為兩種方式,每種方式給大家介紹的非常詳細(xì),需要的朋友可以參考下

1.導(dǎo)入maven依賴

<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client-api</artifactId>
    <version>3.3.6</version>
</dependency>
<dependency>
    <groupId>org.apache.hadoop</groupId>
    <artifactId>hadoop-client-runtime</artifactId>
    <version>3.3.6</version>
</dependency>

2.配置Configuration信息

1)方法1:通過將hdfs的兩個配置文件(hdfs-site.xml、core-site.xml)放到resources文件夾下后,新建Configuration的時候設(shè)置為true會自動讀取,也可以通過conf.set(“配置”,“值”)來修改配置項

//創(chuàng)建配置,是否引用core-site.xml和hdfs-site.xml配置文件,true是引用
Configuration conf = new Configuration(true);
//創(chuàng)建文件連接流,指定namenode、conf和連接的用戶名
FileSystem fs = FileSystem.get(new URI("mycluster"),conf,"hadoop");

2)方法2:將Configuration設(shè)置為false,不加載默認(rèn)配置文件,直接指定namenode對應(yīng)的ip和端口如:hdfs://192.168.132.101:8081替換mycluster

Configuration conf = new Configuration(false);
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.132.101:8081"),conf,"hadoop");

3.hdfs集成springboot基本命令

1)判斷文件是否存在

fs.exists(new Path("/out.txt"))

2)創(chuàng)建文件夾

fs.mkdirs(new Path("/dir1"));

3)創(chuàng)建文件夾并設(shè)置權(quán)限為文件所有者可讀可寫,文件所有組可讀可寫,其他人可讀

fs.mkdirs(new Path("/dir2"),new FsPermission(FsAction.READ_WRITE,FsAction.READ_WRITE,FsAction.READ));

4)刪除文件夾

fs.delete(new Path("/dir1"),true);

5)創(chuàng)建文件并輸入文本
如果文件存在,默認(rèn)會覆蓋, 可以通過第二個參數(shù)進(jìn)行控制。第三個參數(shù)可以控制使用緩沖區(qū)的大小

FSDataOutputStream out = fs.create(new Path("/test.txt"),true, 4096);
out.write("hello hadoop!".getBytes());
out.flush();
out.close();

6)讀取文本

FSDataInputStream inputStream = fs.open(new Path("/test.txt"));
byte[] contextBytes = new byte[1024];
inputStream.read(contextBytes);
String context = new String(contextBytes,"utf-8");
System.out.println(context);

7)文件重命名

boolean result = fs.rename(new Path("/test.txt"), new Path("/testnew.txt"));

8)上傳文件

fs.copyFromLocalFile(new Path("./data/hello.txt"), new Path("/hdfshello.txt"));

9)下載文件

fs.copyToLocalFile(false, new Path("/hdfshello.txt"), new Path("./data/testdata.txt"), true);

10)輸出所有列表所有文件和文件夾信息

FileStatus[] statuses = fs.listStatus(new Path("/"));
for (FileStatus fileStatus : statuses) {
    System.out.println(fileStatus.toString());
}

11)遞歸查詢目錄所有文件信息,比listStatus多了文本大小,副本系數(shù),塊大小信息

RemoteIterator<LocatedFileStatus> files = fs.listFiles(new Path("/"), true);
while (files.hasNext()) {
    System.out.println(files.next());
}

12)查詢文件塊信息

FileStatus fileStatus = fs.getFileStatus(new Path("/user/master01/data.txt"));
BlockLocation[] blocks = fs.getFileBlockLocations(fileStatus, 0, fileStatus.getLen());
for (BlockLocation block : blocks) {
    System.out.println(block);
}

13)查詢文件塊信息并跳轉(zhuǎn)讀取

FileStatus fileStatus = fs.getFileStatus(new Path("/user/master01/data.txt"));
BlockLocation[] blocks = fs.getFileBlockLocations(fileStatus, 0, fileStatus.getLen());
FSDataInputStream input = fs.open(new Path("/user/master01/data.txt"));
input.seek(blocks[1].getOffset());
//input.seek(0)是讓指針回到開始
System.out.println(input.readLine());

到此這篇關(guān)于hdfs集成springboot使用的文章就介紹到這了,更多相關(guān)hdfs集成springboot內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java中文及特殊字符的校驗方法

    java中文及特殊字符的校驗方法

    這篇文章主要為大家詳細(xì)介紹了java中文及特殊字符的校驗方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 你知道將Bean交給Spring容器管理有幾種方式(推薦)

    你知道將Bean交給Spring容器管理有幾種方式(推薦)

    Spring核心是?IOC?和?AOP?,我們在Spring項目中,我們需要將Bean交給Spring容器,也就是IOC管理,這樣你才可以使用注解來進(jìn)行依賴注入,這篇文章主要介紹了你知道將Bean交給Spring容器管理有幾種方式,需要的朋友可以參考下
    2022-10-10
  • 在SpringBoot中實現(xiàn)多種方式登錄(通過用戶名、手機(jī)號、郵箱等)的詳細(xì)指南

    在SpringBoot中實現(xiàn)多種方式登錄(通過用戶名、手機(jī)號、郵箱等)的詳細(xì)指南

    今天,我們將跳進(jìn) Spring Boot 的世界,探索如何通過 用戶名、手機(jī)號、郵箱 等多種方式實現(xiàn)登錄,而我們要做的就是為他們提供這些選擇,確保他們都能毫無阻礙地進(jìn)入我們的系統(tǒng),感興趣的小伙伴跟著小編一起來看看吧
    2024-11-11
  • java基礎(chǔ)類型源碼解析之多角度講HashMap

    java基礎(chǔ)類型源碼解析之多角度講HashMap

    這篇文章主要給大家介紹了關(guān)于java基礎(chǔ)類型源碼解析之HashMap的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用java基具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • Spring Boot啟動加載流程自動配置的底層原理(專家解讀)

    Spring Boot啟動加載流程自動配置的底層原理(專家解讀)

    Spring Boot這么少的配置卻能實現(xiàn)如此豐富的功能?為何啟動一個Spring Boot應(yīng)用可以變得如此簡單便捷?在這個看似平凡的啟動過程中,其實隱藏著一套精妙的自動化機(jī)制和源碼邏輯,本文將帶你深入探索 Spring Boot 的啟動流程,逐步揭開自動配置的幕后奧秘
    2026-01-01
  • Springboot整合ShardingJdbc實現(xiàn)分庫分表方式

    Springboot整合ShardingJdbc實現(xiàn)分庫分表方式

    這篇文章主要介紹了Springboot整合ShardingJdbc實現(xiàn)分庫分表方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • Java使用list集合remove需要注意的事項(使用示例)

    Java使用list集合remove需要注意的事項(使用示例)

    List集合的一個特點是它其中的元素是有序的,也就是說元素的下標(biāo)是根據(jù)插入的順序來的,在刪除頭部或者中間的一個元素后,后面的元素下標(biāo)會往前移動,本文給大家介紹Java使用list集合remove需要注意的事項,感興趣的朋友一起看看吧
    2022-01-01
  • javaWeb使用Kaptcha組件生成驗證碼

    javaWeb使用Kaptcha組件生成驗證碼

    這篇文章主要為大家詳細(xì)介紹了javaWeb使用Kaptcha組件生成驗證碼的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • SpringSecurity+JWT簡單集成的實現(xiàn)

    SpringSecurity+JWT簡單集成的實現(xiàn)

    本文主要介紹了SpringSecurity+JWT簡單集成的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2026-04-04
  • Java線程阻塞工具LockSupport用法詳解

    Java線程阻塞工具LockSupport用法詳解

    Java中的LockSupport是一個用于線程同步的工具類,它提供了一種基于線程的阻塞和喚醒機(jī)制,LockSupport可以讓線程在特定條件下阻塞掛起,等待其他線程發(fā)送信號來喚醒它,本文將通過一個小案例給大家介紹一下LockSupport怎么用,讓你永遠(yuǎn)記住它
    2023-08-08

最新評論

沾益县| 武山县| 中宁县| 嵩明县| 肥东县| 石棉县| 香格里拉县| 南部县| 大关县| 阿拉善左旗| 科技| 且末县| 腾冲县| 收藏| 夏河县| 新野县| 龙江县| 府谷县| 华容县| 普洱| 方城县| 保定市| 万盛区| 武强县| 兴业县| 武安市| 尤溪县| 石门县| 平江县| 渑池县| 佛山市| 阜新| 南昌市| 宜丰县| 自贡市| 礼泉县| 万安县| 光山县| 富宁县| 西和县| 玉溪市|