更新時間:2022年07月12日15時32分 來源:傳智教育 瀏覽次數(shù):
由于Hadoop是使用Java語言編寫的,因此可以使用Java API操作Hadoop文件系統(tǒng)。HDFS Shell本質(zhì)上就是對Java API的應(yīng)用,通過編程的形式操作HDFS,其核心是使用HDFS提供的Java API構(gòu)造一個訪問客戶端對象,然后通過客戶端對象對HDFS上的文件進(jìn)行操作(增、刪、改、查)。本節(jié)對HDFS提供的Java API進(jìn)行詳細(xì)講解。
Hadoop整合了眾多文件系統(tǒng),HDFS只是這個文件系統(tǒng)的一個實(shí)例。HDFS Java API的核心包如下所示。
.org.apache.hadoop.fs.FileSystem:它是通用文件系統(tǒng)的抽象基類,可以被分布式文件系統(tǒng)繼承,它具有許多實(shí)現(xiàn)類。如LocalFileSystem、DistributedFileSystem、FtpFileSystem等。
.org.apache.hadoop.fs.FileStatus:它用于向客戶端展示系統(tǒng)中文件和目錄的元數(shù)據(jù),具體包含文件大小、塊大小、副本信息、修改時間等。
.org.apache.hadoop.fs.FSDataInputStream:文件輸入流,用于讀取Hadoop文件。
.org.apache.hadoop.fs.FSDataOutputStream:文件輸出流,用于寫入Hadoop文件。
.org.apache.hadoop.conf.Configuration:訪問配置項(xiàng),默認(rèn)配置參數(shù)在core-site.xml中,用戶可以添加相應(yīng)的配置參數(shù)。
.org.apache.hadoop.fs.Path:用于表示Hadoop文件系統(tǒng)中的一個文件或者一個目錄的路徑。
在Java中操作HDFS,首先需要創(chuàng)建一個客戶端實(shí)例,主要涉及以下類:
.Configuration:該類的對象封裝了客戶端或者服務(wù)器的配置,每個配置選項(xiàng)是一個鍵對值,通常情況下,Configuration實(shí)例會自動加載HDFS的配置文件core-site.xml,從中獲取Hadoop集群的配置信息。
.FileSystem:該類的對象是一個文件系統(tǒng)對象,通過該對象的一些方法可以對文件進(jìn)行操作,常用方法如表3-2所示;
表3-2 FileSystem常用方法
小提示:Hadoop API非常龐大,讀者可以通過Hadoop官方文檔自行查閱學(xué)習(xí),地址如下:http://hadoop.apache.org/docs/stable/api/index.html。
Python數(shù)據(jù)分析:數(shù)據(jù)分析報告撰寫流程
2022-07-08基于數(shù)據(jù)源的“臟”數(shù)據(jù)分類
2022-07-07大數(shù)據(jù)培訓(xùn):數(shù)據(jù)分析師的職業(yè)要求(下)
2022-07-07大數(shù)據(jù)培訓(xùn):數(shù)據(jù)分析師的職業(yè)要求(上)
2022-07-06Python跟誰學(xué)比較好?-傳智教育Python培訓(xùn)
2022-07-05關(guān)于MySQL的30條優(yōu)化技巧【超實(shí)用】
2022-07-04北京校區(qū)