Hdfs 的讀寫操作
<span style="font-size:32px;color:#ff0000;">說明:本測試使用maven管理專案結構,測試前,請把 core-site.xml 拷貝到resource目錄</span>
<span style="font-size:18px;">package hadoop.test; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataInputStream; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class Hdfstest { public Hdfstest() throws IOException{ // 創建於hdfs的連線(操作)物件 hdfs = FileSystem.get(conf) ; } //配置hadoop配置資訊物件 public final Configuration conf = new Configuration(); // 宣告hdfs檔案系統操作物件 public FileSystem hdfs ; public void createHdfsFile(String path) throws IOException{ Path p = new Path(path); // 根據path建立檔案 FSDataOutputStream od = hdfs.create(p) ; //od.writeUTF("hello" ); od.write("gbdghrherghr".getBytes()); } </span>
<span style="font-size:18px;"><span style="white-space:pre"> </span>// 內容追加</span>
<span style="font-size:18px;"> public void appendHdfsFile(String path,String content) throws IOException{ Path p = new Path(path) ; FSDataOutputStream os = hdfs.append(p) ; os.write(content.getBytes()); } // 檔案讀取 public void readHdfsFile(String path) throws IOException{ Path p = new Path(path) ; FSDataInputStream fp = hdfs.open(p) ; InputStreamReader isr = new InputStreamReader(fp) ; BufferedReader br = new BufferedReader(isr) ; String line = br.readLine() ; while(line !=null){ System.out.println(line); line = br.readLine() ; } } // 遍歷輸出hdfs目錄 public void listHdfsFiles(String path) throws IOException{ Path p = new Path(path); //判斷給定的(路徑)目錄是否存在 boolean isExists = hdfs.exists(p) ; if(isExists){ boolean idDirectory = hdfs.isDirectory(p) ; boolean isFile = hdfs.isFile(p) ; if(idDirectory){ System.out.println(p); FileStatus[] fastatus = hdfs.listStatus(p) ; for(FileStatus fs : fastatus){ Path cp = fs.getPath() ; if(path.equals("/")){ listHdfsFiles(path+cp.getName()) ; }else{ listHdfsFiles(path+"/"+cp.getName()) ; } } }else if(isFile){ System.out.println(p); } } } // 檔案刪除 public void deleteHdfsFile(String path) throws IOException{ Path p = new Path(path); hdfs.delete(p, true) ; } // 檔案上傳 public void uploadFile(String res,String des) throws IOException{ Path resPath = new Path(res) ; Path desPath = new Path(des) ; hdfs.copyFromLocalFile(resPath, desPath); } // 檔案下載 public void copyTOLocalFile(String res,String des) throws IOException{ Path resPath = new Path(res) ; Path desPath = new Path(des) ; hdfs.copyToLocalFile(resPath, desPath); } public static void main(String[] args) throws IOException { Hdfstest dfstest =new Hdfstest(); // dfstest.createHdfsFile("/hdfstest"); // 內容追加 // dfstest.appendHdfsFile("/hdfstest", "\n 34638767896"); // dfstest.readHdfsFile("/hdfstest") ; // dfstest.listHdfsFiles("/") ; // dfstest.deleteHdfsFile("/hdfstest") ; // dfstest.uploadFile("D:\\KuGou","/user/root/input") ; dfstest.copyTOLocalFile("/user/root/input/KuGou","D:\\KuGou") ; dfstest.hdfs.close(); } } </span>
相關推薦
HDFS檔案讀寫操作 (通俗易懂)
首先來介紹兩個概念 ▪NameNode:領導級別。管 NameNode:領導級別。管理資料塊對映;處理客戶端的讀寫請求;配置副本策略;管理HDFS的名稱空間; DataNode:員工級別。負責儲存客戶端發來的資料塊block;執行資料塊的讀寫操作。 理資料 寫詳細步驟: 1、首先
大資料開發之Hadoop篇----hdfs讀寫許可權操作
由於hdfs的結構和linux是差不多的,所以我們在hdfs的讀寫操作上也是會面臨許可權和路徑問題問題,先讓我們來看下這些都是些什麼問題。 這裡我先上傳了一個README.txt的檔案上去,通過hdfs dfs -ls /user/hadoop命令我們已經可以檢視到hdfs上有了這個檔案了
HDFS的讀寫操作
在HDFS讀操作 資料讀取請求將由 HDFS,NameNode和DataNode來服務。讓我們把讀取器叫 “客戶”。下圖描繪了檔案的讀取操作在 Hadoop 中。 客戶端啟動通過呼叫檔案系統物件的 open() 方法讀取請求; 它是 DistributedFileSystem
Hdfs 的讀寫操作
<span style="font-size:32px;color:#ff0000;">說明:本測試使用maven管理專案結構,測試前,請把 core-site.xml 拷貝到resource目錄</span><span style="font
hdfs——hadoop檔案讀寫操作
在hadoop中,有三大法寶——HDFS,MapReduce,Hbase,但是無論是MapReduce,Hbase還是hadoop中的其他元件如:Hive等他們要處理的資料還是處理完了的資料都是儲存在HDFS中。可見HDFS可以說是hadoop儲存的基礎和核心,
利用Java介面對HDFS進行讀寫操作
1. 從HDFS中讀取檔案內容 使用URL import org.apache.hadoop.fs.FsUrlStreamHandlerFactory; import org.apache.hadoop.io.IOUtils; import java.io.IOExce
Python常用的文件讀寫操作和字符串操作
dir info load char 編碼 lines resolve values ror 文件讀寫操作 fileUtils.py # -*- coding: utf-8 -*- import os def getFileList(dir, fileList=[]):
第13章第2講文件讀寫操作
pla margin nbsp tchar img http blog fputs fop #include"stdio.h" main() { FILE *fp; if((fp=fopen("c1.txt","rt"))==NULL) {
C++文件讀寫操作
run -- 模式 ocr bin 第一個 輸出數據 con char 1、文件寫入 ofstream類: ofstream( const char* szName, int nMode = ios::out, int nProt = filebuf::openpr
MFC文件讀寫操作
名稱 bsp 字節數 null tex 是否 功能 int cfi 1、相關類 CFile類 -封裝了文件句柄以及操作文件的API函數 CFileFind類 -封裝了文件搜索功能 2、CFile類的使用 2.1文件讀寫 1)創建或者打開文件
文件的讀寫操作
二進制文件 tel 問題 找到 文件的 [0 操作 系統 讀取文件 1、文件的打開 FILE *fopen( const char *filename, const char *mode ); filename:指向文件名字符串的常量指針,表明將要打開的文件
剖析Elasticsearch集群系列第一篇 Elasticsearch的存儲模型和讀寫操作
推薦 arch 變更 git 排序。 _id 包含 doc 現在 剖析Elasticsearch集群系列涵蓋了當今最流行的分布式搜索引擎Elasticsearch的底層架構和原型實例。 本文是這個系列的第一篇,在本文中,我們將討論的Elasticsearch的底層存儲模型及
FileStream 類讀寫操作
返回值 pos nco lin 字節數組 adk buffer spa txt 1.讀取 static void Main(string[] args) { /* * File類最大的問題是,一次性
Python—對Excel進行讀寫操作
href ace 需要 文件中 tle net 過程 ova 設置 學習Python的過程中,我們會遇到Excel的讀寫問題。通過搜索得知,我們可以使用xlwt module將數據寫入Excel表格,使用xlrd module從Excel讀取數據。下面介紹如何實現使用pyt
【Python】文件讀寫操作
class 控制臺 路徑 數據 編碼 data- ack dev dsm Python的文件讀寫有點類似php的文件讀寫。php的文件讀寫已經在《【php】讓記事本成為你調控變量的控制臺》(點擊打開鏈接)說過了,以下用一個小樣例說明Python的文件讀
OpenCV讀寫操作
main cto 灰度圖 後綴名 彩色圖像 操作 pre 用戶 創建對象 OpenCV讀取一副圖片 imread( const String& filename, int flags = IMREAD_COLOR ); 參數1.文件名(路徑與文件名,如果文件在目錄中
python讀寫操作
class input range stdin bre def tdi pri test import sys 1 def test(): 2 a=int(input()) 3 x=[int(i) for i in input().split(‘
【java 文件讀寫操作】 生成隨機數,寫入txt,然後從txt中讀出
進行 rac 直接 生成隨機數 catch trace buffered 代碼 tac 1.把生成的隨機數寫入到文件中 1 public static void WriterFun(){ 2 //獲得路徑 3 String filep
Python 讀寫操作Excel —— 安裝第三方庫(xlrd、xlwt、xlutils)
保存數據 下載 實用 第三方 直接 install pytho 方法 xls 數據處理是 Python 的一大應用場景,而 Excel 則是最流行的數據處理軟件。因此用 Python 進行數據相關的工作時,難免要和 Excel 打交道。 如果僅僅是要以表單形式保存數據,可
Linux ARM IIC I2C EEPROM 讀寫操作
linux arm iic i2c eeprom 讀寫操作檢測有幾組i2c總線root@beaglebone:~# i2cdetect -l i2c-0 i2c OMAP I2C adapter I2C adapter i2c-1 i2c OMAP