教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢(xún)/投訴熱線(xiàn):400-618-4000

大數(shù)據(jù)培訓(xùn):HDFS的Java API操作

更新時(shí)間:2022年07月12日15時(shí)32分 來(lái)源:傳智教育 瀏覽次數(shù):

好口碑IT培訓(xùn)

  由于Hadoop是使用Java語(yǔ)言編寫(xiě)的,因此可以使用Java API操作Hadoop文件系統(tǒng)。HDFS Shell本質(zhì)上就是對(duì)Java API的應(yīng)用,通過(guò)編程的形式操作HDFS,其核心是使用HDFS提供的Java API構(gòu)造一個(gè)訪(fǎng)問(wèn)客戶(hù)端對(duì)象,然后通過(guò)客戶(hù)端對(duì)象對(duì)HDFS上的文件進(jìn)行操作(增、刪、改、查)。本節(jié)對(duì)HDFS提供的Java API進(jìn)行詳細(xì)講解。

  Hadoop整合了眾多文件系統(tǒng),HDFS只是這個(gè)文件系統(tǒng)的一個(gè)實(shí)例。HDFS Java API的核心包如下所示。

  .org.apache.hadoop.fs.FileSystem:它是通用文件系統(tǒng)的抽象基類(lèi),可以被分布式文件系統(tǒng)繼承,它具有許多實(shí)現(xiàn)類(lèi)。如LocalFileSystem、DistributedFileSystem、FtpFileSystem等。

  .org.apache.hadoop.fs.FileStatus:它用于向客戶(hù)端展示系統(tǒng)中文件和目錄的元數(shù)據(jù),具體包含文件大小、塊大小、副本信息、修改時(shí)間等。

  .org.apache.hadoop.fs.FSDataInputStream:文件輸入流,用于讀取Hadoop文件。

  .org.apache.hadoop.fs.FSDataOutputStream:文件輸出流,用于寫(xiě)入Hadoop文件。

  .org.apache.hadoop.conf.Configuration:訪(fǎng)問(wèn)配置項(xiàng),默認(rèn)配置參數(shù)在core-site.xml中,用戶(hù)可以添加相應(yīng)的配置參數(shù)。

  .org.apache.hadoop.fs.Path:用于表示Hadoop文件系統(tǒng)中的一個(gè)文件或者一個(gè)目錄的路徑。

  在Java中操作HDFS,首先需要?jiǎng)?chuàng)建一個(gè)客戶(hù)端實(shí)例,主要涉及以下類(lèi):

  .Configuration:該類(lèi)的對(duì)象封裝了客戶(hù)端或者服務(wù)器的配置,每個(gè)配置選項(xiàng)是一個(gè)鍵對(duì)值,通常情況下,Configuration實(shí)例會(huì)自動(dòng)加載HDFS的配置文件core-site.xml,從中獲取Hadoop集群的配置信息。

  .FileSystem:該類(lèi)的對(duì)象是一個(gè)文件系統(tǒng)對(duì)象,通過(guò)該對(duì)象的一些方法可以對(duì)文件進(jìn)行操作,常用方法如表3-2所示;

  表3-2 FileSystem常用方法

FileSystem常用方法

  小提示:Hadoop API非常龐大,讀者可以通過(guò)Hadoop官方文檔自行查閱學(xué)習(xí),地址如下:http://hadoop.apache.org/docs/stable/api/index.html。

0 分享到:
和我們?cè)诰€(xiàn)交談!