Java API 讀取HDFS目錄下的所有檔案

2021-06-23 06:42:06 字數 1832 閱讀 1841

/**

* 獲取1號店生鮮食品的分類id字串

* @param filepath

* @return

*/public string getyhdsxcategoryidstr(string filepath) );

final string inner_delimiter = ",";

// 遍歷目錄下的所有檔案

bufferedreader br = null;

try

fsdatainputstream inputstream = fs.open(file.getpath());

br = new bufferedreader(new inputstreamreader(inputstream));

string line = null;

while (null != (line = br.readline()))

}// end of while

} } catch (ioexception e) finally catch (ioexception e) }

return yhdsxcategoryidstr;

}

hdfs上的目錄、檔案:

-bash-3.2$ hadoop fs -ls /user/hive/warehouse/category

found 2 items

-rw-r--r-- 2 basicdata supergroup 0 2014-08-18 01:05 /user/hive/warehouse/category/_success

-rw-r--r-- 2 basicdata supergroup 1117233 2014-08-18 01:05 /user/hive/warehouse/category/part-m-00000

檔案內容:

-bash-3.2$ hadoop fs -cat /user/hive/warehouse/category/part-* | more

52880000052880雜糧組合51621010-5135-5162-5288:食品-糧油-雜糧組合011

9726780009726787茶具19650290040-950340-965029-972678:家居-餐具水具-茶具1011

9701550009701557菲士康196046510null0-960464-960465-970155:**眼鏡(藥網)-普通**眼鏡-菲士康1011

9702350009702356生活服務000180-970235:生活服務011

9702360009702367sim卡9635241030-957328-963524-970236:手機通訊/數碼電器-運營商-sim卡011

9737840009737842鞋包配飾97377810null0-960665-960768-973775-973778-973784:1號禮品中心-時尚創意禮品-定製品-個性定製-鞋包配飾011

5315t602個人清潔5183190null0-5134-5183-5315:廚衛清潔-清潔劑-個人清潔111

5316t603家用清潔5183190null0-5134-5183-5316:廚衛清潔-清潔劑-家用清潔111

5317ud02蛋製品1516110null0-5135-5161-5317:食品飲料-醃製品1-蛋製品1111

5318ud030肉製品5161180null0-5135-5161-5318:食品飲料-醃製品-肉製品111

實時讀取目錄檔案到HDFS

1 建立配置檔案flume dir.conf 1.定義agent a3 a3.sources r3 a3.sinks k3 a3.channels c3 2.定義source a3.sources.r3.type spooldir a3.sources.r3.spooldir opt module ...

HDFS 讀取流程

先看圖 hdfs客戶端要讀取資料首先必須和namenode 建立連線,獲取datanode資訊。namenode會根據客戶端的實體地址返回乙個由近到遠的塊位址列表。客戶端拿到列表後和最近的進行連線讀取資料 hdfs中塊是由乙個完整的檔案分成多個塊,而每個塊可能儲存在不同機架上。每個塊中除了資料還儲存...

HDFS客戶端搭建與Java API操作HDFS

為什麼不建議使用集群內操作?如果每一次上傳檔案都是選擇某一台dn作為客戶端,就會導致這個節點上的磁碟以及網路i0負載超過其他的節點,久而久之這個節點的磁碟以及網絡卡效能遠遠低於其他節點,從而會導致資料的傾斜問題。配置集群客戶端的步驟 1 找一台新的伺服器,這台伺服器必須能夠與集群通訊 2 將配置好的...