91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何從Hadoop URL中讀取數據

發布時間:2021-12-08 11:17:32 來源:億速云 閱讀:214 作者:小新 欄目:云計算

這篇文章將為大家詳細講解有關如何從Hadoop URL中讀取數據,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

要從Hadoop文件系統中讀取文件,一個最簡單的方法是使用java.net.URL對象來打開一個數據流,從而從中讀取數據。一般的格式如下:

1.      InputStream in = null;  

2.  try {  

3.       in = new URL("hdfs://host/path").openStream();

4.       // process in

5.  } finally {  

6.       IOUtils.closeStream(in);

7.  }

這里還需要一點工作來讓Java識別Hadoop文件系統的URL 方案,就是通過一個FsUrlStreamHandlerFactory實例來調用在URL中的setURLStreamHandler-Factory方法。這種方法在一個Java虛擬機中只能被調用一次,因此一般都在一個靜態塊中執行。這個限制意味著如果程序的其他部件(可能是不在你控制中的第三方部件)設置一個URLStreamHandlerFactory,我們便無法再從Hadoop中讀取數據。下一節將討論另一種方法。

例3-1展示了以標準輸出顯示Hadoop文件系統的文件的程序,它類似于Unix的cat命令。

例3-1:用URLStreamHandler以標準輸出格式顯示Hadoop文件系統的文件

1.  public class URLCat {  

2.   

3.    static {  

4.      URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());

5.    }  

6.      

7.    public static void main(String[] args) throws Exception {

8.      InputStream in = null;  

9.      try {  

10.       in = new URL(args[0]).openStream();

11.       IOUtils.copyBytes(in, System.out, 4096, false);

12.     } finally {

13.       IOUtils.closeStream(in);

14.     }  

15.   }  

16. }

我們使用Hadoop中簡潔的IOUtils類在finally子句中關閉數據流,同時復制輸入流和輸出流之間的字節(本例中是System.out)。copyBytes方法的最后兩個參數,前者是要復制的緩沖的大小,后者表示復制結束后是否關閉數據流。這里是將輸入流關掉了,而System.out不需要關閉。

下面是一個運行示例:

1.      % hadoop URLCat hdfs://localhost/user/tom/quangle.txt

2.  On the top of the Crumpetty Tree

3.  The Quangle Wangle sat,  

4.  But his face you could not see,

5.  On account of his Beaver Hat.

關于“如何從Hadoop URL中讀取數據”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

色达县| 长宁县| 随州市| 浙江省| 蒙自县| 获嘉县| 深圳市| 金沙县| 沅江市| 名山县| 上高县| 康平县| 钦州市| 东乡族自治县| 思茅市| 平和县| 个旧市| 延边| 尼勒克县| 曲阳县| 健康| 明溪县| 南城县| 葫芦岛市| 乳山市| 永修县| 元谋县| 将乐县| 新巴尔虎左旗| 吕梁市| 潞城市| 双柏县| 新营市| 景洪市| 罗江县| 沂南县| 白沙| 遂宁市| 汉沽区| 宜春市| 革吉县|