Hadoop之HDFS文件操作
摘要:Hadoop之HDFS文件操作常有兩種方式,命令行方式和JavaAPI方式。本文介紹如何利用這兩種方式對HDFS文件進行操作。
關鍵詞:HDFS文件 ? ?命令行 ? ??Java?API
HDFS是一種分布式文件系統,為MapReduce這種框架下的海量數據分布式處理而設計。
Hadoop之HDFS文件操作常有兩種方式,一種是命令行方式,即Hadoop提供了一套與Linux文件命令類似的命令行工具;另一種是JavaAPI,即利用Hadoop的Java庫,采用編程的方式操作HDFS的文件。
方式一:命令行方式
Hadoop文件操作命令形式為
hadoop fs -cmd <args>
說明:cmd是具體的文件操作命令,<args>是一組數目可變的參數。
Hadoop最常用的文件操作命令,包括添加文件和目錄、獲取文件、刪除文件等。
1 添加文件和目錄
HDFS有一個默認工作目錄/usr/$USER,其中$USER是你的登錄用戶名,作者的用戶名是root。該目錄不能自動創建,需要執行mkdir命令創建。
hadoop fs -mkdir ?/usr/root
使用Hadoop的命令put將本地文件README.txt送到HDFS。
hadoop fs -put README.txt ?.
注意上面這個命令最后一個參數是句點(.),這意味著把本地文件放入到默認的工作目錄,該命令等價于:
hadoop fs -put README.txt ? ? /user/root
使用Hadoop的ls命令,即
hadoop fs -ls
顯示結果如圖1所示。
圖1 ?hadoop 中 ls命令Demo
2 獲取文件
獲取文件包含兩層意思,一是HDFS從本地文件中獲取文件,即前面介紹的添加文件;二是本地文件從HDFS中獲取文件,可以使用Hadoop的get命令。例如若本地文件沒有README.txt文件,需要從HDFS中取回,可以執行如下命令。
hadoop fs -get ?README.txt ?.
或者
hadoop fs -get README.txt ?/usr/root/README.txt
3 刪除文件
Hadoop刪除文件命令為rm。例如要刪除從本地文件上傳的README.txt,可以執行如下命令。
hadoop ?fs -rm ?README.txt
4 檢索文件
檢索文件即查閱HDFS中的文件內容,可以使用hadoop中的cat命令。例如要查閱README.txt的內容,可以執行如下命令。
hadoop fs -cat README.txt
部分顯示結果如圖2所示
圖2 hadoop中cat命令Demo
另外,hadoop的cat命令的輸出也可以使用管道傳遞給Unix 命令的head:
hadoop fs -cat README.txt | head
Hadoop也支持tail命令查看最后一千字節。例如要查閱README.txt最后一千個字節,可以執行如下命令。
hadoop fs -tail README.txt
5查閱幫助
查閱Hadoop命令幫助,可以讓我們很好地掌握和使用Hadoop的 命令。我們可以執行hadoop fs 獲取所用版本Hadoop的一個完整命令列別,也可以使用help來顯示某個具體命令的用法及簡短描述。
例如,要了解ls命令,可執行如下命令。
hadoop ?fs -help ls
關于hadoop命令ls的描述如圖3所示。
圖3 Hadoop命令ls的介紹?
Resource:
1 ??http://www.wangluqing.com/2014/03/hadoop-hdfs-fileoperation/
2??Hadoop in Action?http://www.manning.com/lam/
總結
以上是生活随笔為你收集整理的Hadoop之HDFS文件操作的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java中用字节流读取文本时中文乱码
- 下一篇: Hadoop之MapReduce程序应用