日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作

發布時間:2025/3/8 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、實驗目的
  • 二、實驗平臺
  • 三、實驗內容和要求
    • 3.1、HDFS 目錄操作
      • 3.1.1、創建用戶目錄
      • 3.1.2、顯示 HDFS 中與當前用戶對應的目錄內容
      • 3.1.3、列出 HDFS 上的所有目錄
      • 3.1.4、用戶目錄下創建一個 input 目錄
      • 3.1.5、根目錄下創建 input 的目錄
      • 3.1.6、刪除子目錄
    • 3.2、HDFS 文件操作
      • 3.2.1、向 HDFS 中上傳任意文本文件
      • 3.2.2、從 HDFS 中下載指定文件
      • 3.2.3、輸出 HDFS 指定文件到終端中
      • 3.2.4、顯示 HDFS 中指定的文件信息
      • 3.2.5、輸出 HDFS 指定目錄下文件信息
      • 3.2.6、指定路徑創建和刪除文件
      • 3.2.7、指定路徑創建和刪除目錄
      • 3.2.8、向 HDFS 中指定的文件追加內容
      • 3.2.9、刪除 HDFS 中指定的文件
      • 3.2.10、刪除 HDFS 中指定的目錄
      • 3.2.11、將文件從源路徑移動到目的路徑
  • 總結


前言

本篇文章《大數據基礎系列 5:Hadoop 實驗——熟悉常用的 HDFS 目錄操作和文件操作》是完全針對 HDFS 文件系統的,目的即理解 HDFS 在 Hadoop 體系結構中的角色,熟練使用 HDFS 操作常用的 Shell 命令,熟悉 HDFS 操作常用的 Java API。對大數據系列感興趣的同學可以移步本人大數據專欄查看更多內容。


一、實驗目的

  • 理解 HDFS 在 Hadoop 體系結構中的角色;
  • 熟練使用 HDFS 操作常用的 Shell 命令;
  • 熟悉 HDFS 操作常用的 Java API。

二、實驗平臺

  • 操作系統:Linux
  • Hadoop版本:Hadoop-3.2.1
  • JDK版本:java-8-openjdk-amd64
  • Java IDE:Eclipse

三、實驗內容和要求

3.1、HDFS 目錄操作

Hadoop 系統安裝好之后,第一次使用 HDFS 時,在初始化并啟動之后,首先需要在 HDFS 中創建用戶目錄。

3.1.1、創建用戶目錄

本次實驗全部采用 bailu 用戶登錄 Linux 系統,故在 HDFS 中為 bailu 用戶創建用戶目錄,命令如下:

cd /usr/local/hadoop/hadoop-3.2.1 ./bin/hdfs dfs -mkdir -p /user/bailu

具體如下圖所示:


說明:該命令表示在 HDFS 中創建一個 /user/bailu 的目錄。

  • -mkdir 是創建目錄的操作。
  • -p 表示如果是多級目錄,則父目錄和子目錄一起創建。

注意:這里 /user/bailu 就是一個多級目錄,因此必須使用參數 -p,否則會出錯。

3.1.2、顯示 HDFS 中與當前用戶對應的目錄內容

/user/bailu 目錄就成為 bailu 用戶對應的用戶目錄。

我們可以使用如下命令顯示 HDFS 中與當前 bailu 對應的用戶目錄下的內容:

./bin/hdfs dfs -ls .

說明

  • -ls 表示列出 HDFS 某個目錄下的所有內容。
  • . 表示 HDFS 中當前用戶目錄,也就是 /user/bailu 目錄。

等價于:

./bin/hdfs dfs -ls /user/bailu

3.1.3、列出 HDFS 上的所有目錄

如果要列出 HDFS 上的所有目錄,可以使用如下命令:

./bin/hdfs dfs -ls

3.1.4、用戶目錄下創建一個 input 目錄

在 bailu 用戶下創建一個input目錄,命令如下:

./bin/hdfs dfs -mkdir input

具體如下圖所示:


說明:我們在創建 input 目錄時,采用了相對路徑形式,實際上 input 目錄創建成功后,它在 HDFS 中的完整路徑是 /user/bailu/input。

3.1.5、根目錄下創建 input 的目錄

如果要在 HDFS 的根目錄下創建一個名為 input 的目錄,則需要以下命令:

./bin/hdfs dfs -mkdir /input

3.1.6、刪除子目錄

可以使用 rm 命令刪除剛才在 HDFS 中創建的 /input 目錄(不是 /user/bailu/input 目錄):

./bin/hdfs dfs -rm -r /input

說明:-r 參數表示如果刪除 /input 目錄及其子目錄下的所有內容,如果要刪除的目錄包含了子目錄,則必須使用 -r 參數,否則會執行失敗。

3.2、HDFS 文件操作

首先使用 gedit 編輯器,在本地 Linux 文件系統的 /home/bailu/ 目錄下創建一個文件 myLocalFile.txt,里面隨意輸入一些單詞,具體如下圖所示:

3.2.1、向 HDFS 中上傳任意文本文件

向 HDFS 中上傳任意文本文件,如果指定的文件在 HDFS 中已經存在,由用戶指定是追加到原有文件末尾還是覆蓋原有的文件,命令如下:

./bin/hdfs dfs -put /home/bailu/myLocalFile.txt input

具體如下圖所示:

3.2.2、從 HDFS 中下載指定文件

從 HDFS 中下載指定文件,如果本地文件與要下載的文件名稱相同,則自動對下載的文件重命名,命令如下:

./bin/hdfs dfs -get input/myLocalFile.txt /home/bailu/下載

具體如下圖所示:

3.2.3、輸出 HDFS 指定文件到終端中

將 HDFS 中指定文件的內容輸出到終端中,命令如下:

./bin/hdfs dfs -cat input/myLocalFile.txt

具體如下圖所示:

3.2.4、顯示 HDFS 中指定的文件信息

顯示 HDFS 中指定的文件的讀寫權限、大小、創建時間、路徑等信息,命令如下:

./bin/hdfs dfs -ls input/myLocalFile.txt

具體如下圖所示:

3.2.5、輸出 HDFS 指定目錄下文件信息

給定 HDFS 中某一個目錄,輸出該目錄下的所有文件的讀寫權限、大小、創建時間、路徑等信息,如果該文件是目錄,則遞歸輸出該目錄下所有文件相關信息,命令如下:

./bin/hdfs dfs -ls input

具體如下圖所示:

3.2.6、指定路徑創建和刪除文件

提供一個 HDFS 內的文件的路徑,對該文件進行創建和刪除操作。如果文件所在目錄不存在,則自動創建目錄(以操作 empty.txt 文件為例),創建文件操作命令如下:

./bin/hdfs dfs -touchz empty.txt

具體如下圖所示:


刪除文件操作命令如下:

./bin/hdfs dfs -rm empty.txt

具體如下圖所示:

3.2.7、指定路徑創建和刪除目錄

提供一個 HDFS 的目錄的路徑,對該目錄進行創建和刪除操作。創建目錄時,如果目錄文件所在目錄不存在則自動創建相應目錄;刪除目錄時,由用戶指定當該目錄不為空時是否還刪除該目錄(以操作 empty 文件夾為例),創建目錄操作命令如下:

./bin/hdfs dfs -mkdir empty

具體如下圖所示:


刪除目錄操作命令如下:

./bin/hdfs dfs -rm -r empty

具體如下圖所示:

3.2.8、向 HDFS 中指定的文件追加內容

向 HDFS 中指定的文件追加內容,由用戶指定內容追加到原有文件的開頭或結尾。

我們先在本地 /home/bailu 下創建 test.txt 文件,并添加內容如下圖所示:


將 test.txt 文件上傳至 HDFS 文件系統 /user/bailu/input 目錄下,具體如下圖所示:


追加 test.txt 文件至 myLocalFile.txt 文件后,命令如下:

./bin/hdfs dfs -appendToFile test.txt input/myLocalFile.txt

具體如下圖所示:

3.2.9、刪除 HDFS 中指定的文件

刪除 HDFS 中指定的文件 test.txt,命令如下:

./bin/hdfs dfs -rm input/test.txt

具體如下圖所示:

3.2.10、刪除 HDFS 中指定的目錄

刪除 HDFS 中指定的目錄,由用戶指定目錄中如果存在文件時是否刪除目錄(以操作 empty 目錄為例),先創建 empty 目錄,命令如下:

./bin/hdfs dfs -mkdir empty

具體如下圖所示:


刪除 empty 目錄,命令如下:

./bin/hdfs dfs -rm -r empty

具體如下圖所示:

3.2.11、將文件從源路徑移動到目的路徑

在 HDFS 中,將文件從源路徑移動到目的路徑(以把 input 下的 myLocalFile.txt 文件移動到 empty 文件夾為例),命令如下:

./bin/hdfs dfs -mv input/myLocalFile.txt empty

具體如下圖所示:


總結

本文通過使用 HDFS 文件系統對目錄和文件兩大結構類型進行了增刪改查的基本操作,幫助初學者進一步鞏固 HDFS 的實驗操作,為之后的學習奠定基礎。初學的同學可能會覺得甚是繁瑣,命令比較多,熟能生巧即可。


我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!

總結

以上是生活随笔為你收集整理的大数据基础系列 5:Hadoop 实验——熟悉常用的 HDFS 目录操作和文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。