1.1 遞迴實現讀取檔名(scala + listfiles)
/** * 實現:listfiles方法
* 迭代列出資料夾下的檔案,只能列出檔案
* 通過fs的listfiles方法可以自動實現遞迴(自帶遞迴)列出檔案型別
* 第乙個引數是伺服器路徑,第二個引數是否遞迴
* @param srcpath
*/def listfullfilenames(srcpath: string): list[string] =
} finally
buffer.tolist
}
1.2 遞迴實現讀取檔名(scala + liststatus)
/** * 通過fs的liststatus方法可以自動實現遞迴(自帶遞迴)列出檔案型別
* @param srcpath 目錄
* @param buffer 全域性的 arraybuffer
* @return
*/val buffer = new arraybuffer[string]()
def listfullfilenames(srcpath: string, buffer: arraybuffer[string]): list[string] =
else
}buffer.tolist
}
注意:使用了全域性buffer,以至於遞迴收集檔案數目
1.3 列出某個目錄讀取檔名(scala)
/** 列出具體路徑下的所有檔名稱 *
*/def listfilesnames(finalpath: string): list[string] =
catch
liststatus
}
2.1 hdfs檔案的屬性獲取
def readfilecontent(path: string) =|是否為檔案: $
|檔案塊大小: $
|檔案所屬組: $
|檔案長度:$
|檔案所有者:$
|檔案的路徑:$
|檔案的父路徑:$
|檔案的名稱:$
|檔案的許可權:$
|檔案副本數:$
|$""".stripmargin)
} }
2.2 正規表示式獲取檔案狀態
/** * 正則獲取檔案資訊
*/def readstatusglobstatus() =
|檔案的路徑:$
""".stripmargin)
} }
2.3 正規表示式過濾檔案
/** * 過濾檔案資訊
* 過濾出包含compass的路徑
*/def readstatusfilterglobstatus() =
})
注:globstatus 很靈活,內部甚至可以寫一些正規表示式,有時候在處理大資料的預處理的時候可能很有效參考:
Python操作Redis之二 Hash操作
2 hash 操作 redis中的hash 在記憶體中類似於乙個name對應乙個dic來儲存 hset name,key,value name對應的hash中設定乙個鍵值對 不存在,則建立,否則,修改 r.hset dic name a1 aa hget name,key r.hset dic na...
(二)目錄及檔案操作
命令 ls 選項 目錄 檔案 功能 對於目錄,該命令列出該目錄下的所有子目錄與檔案。對於檔案,將列出檔名及其他資訊。linux檔案系統不是根據字尾名來執行檔案的,而是根據檔案是否有可執行許可權。常用的選項 選項功能 a顯示指定目錄下所有子目錄與檔案。ls a root home l列出指定目錄下所有...
檔案目錄操作命令二
linux mkdir 命令用來建立指定的名稱的目錄,要求建立目錄的使用者在當前目錄中具有寫許可權,並且指定的目錄名不能是當前目錄中已有的目錄。1 命令格式 mkdir 選項 目錄 2 命令功能 通過 mkdir 命令可以實現在指定位置建立以 dirname 指定的檔名 命名的資料夾或目錄。要建立資...