国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Hadoop——HDFS的Java API操作(文件上傳、下載、刪除等)

這篇具有很好參考價值的文章主要介紹了Hadoop——HDFS的Java API操作(文件上傳、下載、刪除等)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1、創(chuàng)建Maven項目

hadoop java 上傳文件,Hadoop,Java,hadoop,hdfs,java,大數(shù)據(jù)

2、修改pom.xml文件

<dependencies>
        <!-- Hadoop所需依賴包 -->
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-common</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-hdfs</artifactId>
            <version>2.7.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-client</artifactId>
            <version>2.7.0</version>
        </dependency>

        <!-- junit測試依賴,因為我只想測試HDFS是否能正常使用 -->
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
</dependencies>

3、添加四個配置文件

為避免運行的一些錯誤,我們將Hadoop的四個重要配置文件添加到resources中

hadoop java 上傳文件,Hadoop,Java,hadoop,hdfs,java,大數(shù)據(jù)

4、創(chuàng)建測試文件JavaAPI

hadoop java 上傳文件,Hadoop,Java,hadoop,hdfs,java,大數(shù)據(jù)

5、初始化

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import java.io.IOException;

public class JavaAPI {
    // 可操作HDFS文件系統(tǒng)的對象
    FileSystem hdfs = null;

    // 測試方法執(zhí)行前執(zhí)行,用于初始化操作,避免頻繁初始化
    @Before
    public void init() throws IOException {
        // 構(gòu)造一個配置參數(shù)對象,設置一個參數(shù):要訪問的HDFS的URI
        Configuration conf = new Configuration();
        // 指定使用HDFS訪問
        conf.set("fs.defaultFS","hdfs://localhost:9000");
        // 進行客戶端身份的設置(root為虛擬機的用戶名,hadoop集群節(jié)點的其中一個都可以)
        System.setProperty("HADOOP_USER_NAME","root");
        // 通過FileSystem的靜態(tài)get()方法獲取HDFS文件系統(tǒng)客戶端對象
        hdfs = FileSystem.get(conf);
    }

    // 測試方法執(zhí)行后執(zhí)行,用于處理結(jié)尾的操作,關閉對象
    @After
    public void close() throws IOException {
        // 關閉文件操作對象
        hdfs.close();
    }
}

因為對文件的操作我們都需要獲取hdfs對象和關閉對象,所以為避免重復編寫,將兩個操作對立成單獨方法,分別在文件相應操作執(zhí)行前和執(zhí)行后執(zhí)行。

這里"hdfs://localhost:9000"對應core-site.xml的配置

hadoop java 上傳文件,Hadoop,Java,hadoop,hdfs,java,大數(shù)據(jù)

6、文件操作

可以在瀏覽器訪問http://localhost:50070/,點擊Browse the file system 查看HDFS文件系統(tǒng)的目錄

hadoop java 上傳文件,Hadoop,Java,hadoop,hdfs,java,大數(shù)據(jù)

文件上傳

我提前在本地E:\hadoop下創(chuàng)建一個HDFSTest.txt文件文章來源地址http://www.zghlxwxcb.cn/news/detail-737050.html

    // 上傳文件到HDFS文件系統(tǒng)
    @Test
    public void testUploadFileToHDFS() throws IOException {
        // 待上傳的文件路徑(windows)
        Path src = new Path("E:/hadoop/HDFSTest.txt");
        // 上傳之后存放的路徑(HDFS)
        Path dst = new Path("/HDFSTest.txt");
        // 上傳
        hdfs.copyFromLocalFile(src, dst);
        System.out.println("上傳成功");
    }
文件下載
    // 從HDFS下載文件到本地
    @Test
    public void testDownFileToLocal() throws IOException {
        // 待下載的路徑(HDFS)
        Path src = new Path("/HDFSTest.txt");
        // 下載成功之后存放的路徑(windows)
        Path dst = new Path("E:/hadoop/HDFSTest1.txt");
        // 下載
        hdfs.copyToLocalFile(false,src,dst,true);
        System.out.println("下載成功");
    }
創(chuàng)建目錄
 ? ?// 創(chuàng)建目錄
 ? ?@Test
 ? ?public void testMkdirFile() throws IOException {
 ? ? ? ?// 待創(chuàng)建目錄路徑
 ? ? ? ?Path src = new Path("/HDFS");
 ? ? ? ?// 創(chuàng)建目錄
 ? ? ? ?hdfs.mkdirs(src);
 ? ? ? ?System.out.println("創(chuàng)建成功");
 ?  }
目錄重命名
 ? ?// 重命名
 ? ?@Test
 ? ?public void testRenameFile() throws IOException {
 ? ? ? ?// 重命名之前的名字
 ? ? ? ?Path src = new Path("/HDFS");
 ? ? ? ?// 重命名之后的名字
 ? ? ? ?Path dst = new Path("/HDFS1");
 ? ? ? ?// 重命名
 ? ? ? ?hdfs.rename(src,dst);
 ? ? ? ?System.out.println("重命名成功");
 ?  }
刪除目錄
 ? ?// 刪除目錄
 ? ?@Test
 ? ?public void testDeleteFile() throws IOException {
 ? ? ? ?// 待刪除目錄路徑(HDFS)
 ? ? ? ?Path src = new Path("/HDFS1");
 ? ? ? ?// 刪除
 ? ? ? ?hdfs.delete(src, true);
 ? ? ? ?System.out.println("刪除成功");
 ?  }
查看文件信息
    // 查看HDFS目錄中的文件信息
    @Test
    public void testCheckFile() throws IOException {
        // 獲取迭代器對象("/"表示獲取全部目錄下的文件)
        RemoteIterator<LocatedFileStatus> listFiles = hdfs.listFiles(new Path("/"), true);
        while (listFiles.hasNext()) {
            LocatedFileStatus fileStatus = listFiles.next();
            // 打印當前文件名
            System.out.println("文件名:" + fileStatus.getPath().getName());
            // 打印當前文件塊大小
            System.out.println("文件塊大?。? + fileStatus.getBlockSize());
            // 打印當前文件權(quán)限
            System.out.println("文件權(quán)限:" + fileStatus.getPermission());
            // 打印當前文件內(nèi)容的長度
            System.out.println("文件內(nèi)容長度:" + fileStatus.getLen());
            // 獲取該文件塊的信息(包含長度,數(shù)據(jù)塊,DataNodes的信息)
            BlockLocation[] blockLocations = fileStatus.getBlockLocations();
            for (BlockLocation bl : blockLocations) {
                System.out.println("block-length:" + bl.getLength());
                System.out.println("block-offset:" + bl.getOffset());
                // 獲取DataNodes的主機名
                String[] hosts = bl.getHosts();
                for (String host : hosts) {
                    System.out.println(host);
                }
            }
            System.out.println("-----------------分割線-----------------");
        }
    }

到了這里,關于Hadoop——HDFS的Java API操作(文件上傳、下載、刪除等)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Hadoop系統(tǒng)應用之HDFS相關操作 - - Java-API對HDFS的操作(IDEA版)

    Hadoop系統(tǒng)應用之HDFS相關操作 - - Java-API對HDFS的操作(IDEA版)

    通過Java API來操作HDFS文件系統(tǒng)HDFS,相關的操作有:文件上傳、文件下載、新建文件夾、查看文件、刪除文件。 1.Linux下安裝好hadoop,這里使用hadoop2.7.3 2.window解壓hadoop2.7.3的包 2.Windows下安裝好jdk1.8 ?3.Windows下安裝好IDEA,這里使用IDEA2022 4.Windows下安裝好maven,這里使用Maven3.6.3

    2024年02月05日
    瀏覽(25)
  • hadoop調(diào)用HDFS java api實現(xiàn)在HDFS上創(chuàng)建文件夾

    hadoop調(diào)用HDFS java api實現(xiàn)在HDFS上創(chuàng)建文件夾

    目錄 一、前期準備 1、Hadoop集群已配置完畢 2、Linux系統(tǒng)安裝jdk 3、安裝并破解IntelliJ?IDEA 二、通過JAVA API操縱HDFS 1.在IDEA中創(chuàng)建項目 ?2.在hdfs項目的src-main-java路徑下創(chuàng)建一個包,然后在包下創(chuàng)建一個java類實現(xiàn)hdfs的文件操作 ?3.java類的代碼 4.對JAVA程序傳入?yún)?shù)后運行程序 ?5

    2024年02月08日
    瀏覽(92)
  • 【Hadoop】HDFS API 操作大全

    【Hadoop】HDFS API 操作大全

    ?? 個人主頁——??開著拖拉機回家_Linux,大數(shù)據(jù)運維-CSDN博客 ????? ???? 希望本文能夠給您帶來一定的幫助??文章粗淺,敬請批評指正!???? ???????????????? ?????????????? ???????????????????????? ?????? ???????? 感謝點贊和關注 ,

    2024年02月07日
    瀏覽(18)
  • Hadoop HDFS的API操作

    Hadoop HDFS的API操作

    hadoop的 Windows依賴文件夾,拷貝hadoop-3.1.0到非中文路徑(比如d:)。 配置HADOOP_HOME環(huán)境變量 配置Path環(huán)境變量。 不能放在包含有空格的目錄下,cmd 輸入hadoop顯示此時不應有 hadoop-3.0.0bin。我放在E:Program Files (x86) hadoop-3.0.0bin中,就出現(xiàn)錯誤 驗證Hadoop環(huán)境變量是否正常。雙擊

    2024年02月05日
    瀏覽(16)
  • 大數(shù)據(jù):HDFS的Shell操作,進程啟動管理,文件系統(tǒng)操作命令,創(chuàng)建文件文件夾,下載上傳,復制移動,刪除,展示,追加內(nèi)容

    大數(shù)據(jù):HDFS的Shell操作,進程啟動管理,文件系統(tǒng)操作命令,創(chuàng)建文件文件夾,下載上傳,復制移動,刪除,展示,追加內(nèi)容

    2022找工作是學歷、能力和運氣的超強結(jié)合體,遇到寒冬,大廠不招人,可能很多算法學生都得去找開發(fā),測開 測開的話,你就得學數(shù)據(jù)庫,sql,oracle,尤其sql要學,當然,像很多金融企業(yè)、安全機構(gòu)啥的,他們必須要用oracle數(shù)據(jù)庫 這oracle比sql安全,強大多了,所以你需要學

    2024年02月07日
    瀏覽(103)
  • Hadoop上傳文件到hdfs中

    hadoop常見指令: hdfs dfs -copyFromLocal /local/data /hdfs/data :將本地文件上傳到 hdfs 上(原路徑只能是一個文件) hdfs dfs -put /tmp/ /hdfs/ :和 copyFromLocal 區(qū)別是,put 原路徑可以是文件夾等 hadoop fs -ls / :查看根目錄文件 hadoop fs -ls /tmp/data :查看/tmp/data目錄 hadoop fs -cat /tmp/a.txt :查看

    2023年04月15日
    瀏覽(16)
  • 從零開始的Hadoop學習(五)| HDFS概述、shell操作、API操作

    從零開始的Hadoop學習(五)| HDFS概述、shell操作、API操作

    1.1 HDFS 產(chǎn)出背景及定義 1) HDFS 產(chǎn)生背景 隨著數(shù)據(jù)量越來越大,在一個操作系統(tǒng)存不下所有的數(shù)據(jù),那么就分配到更多的操作系統(tǒng)管理的磁盤中,但是不方便管理和維護,迫切 需要一種系統(tǒng)來管理多臺機器上的文件 ,這就是分布式文件管理系統(tǒng)。 HDFS只是分布式文件管理系統(tǒng)

    2024年02月10日
    瀏覽(94)
  • Windwos安裝Hadoop 并在IDEA中利用Maven實現(xiàn)HDFS API操作

    Windwos安裝Hadoop 并在IDEA中利用Maven實現(xiàn)HDFS API操作

    本次hadoop的安裝系統(tǒng)為Windows10、Hadoop版本為3.3.6、Maven版本為3.9.4、Java版本為17.0.2。本教程基于前篇教程Hadoop集群、Java安裝均完成后的后續(xù)教程,如未完成安裝請查看前置教程。Hadoop、java安裝 ############################################################################################# 此外,大數(shù)

    2024年01月18日
    瀏覽(23)
  • hadoop:hafs:上傳文件、刪除文件、改變文件權(quán)限等常用命令

    Hadoop是一個開源的分布式計算框架,用于處理和分析大數(shù)據(jù)集。Hadoop提供了大量的命令來管理集群、處理數(shù)據(jù)以及執(zhí)行其他相關任務。 ??以下是一些常用的Hadoop命令的匯總: 1 啟動和關閉Hadoop服務 啟動所有Hadoop服務 關閉所有Hadoop服務 2 HDFS文件系統(tǒng)命令 上傳文件到HDFS 查看

    2024年04月14日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包