日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

hdfs路径 linux路径,四、记录1----获取hdfs上FileSystem的方法 记录2:正则匹配路径:linux、hdfs...

發布時間:2024/1/23 linux 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hdfs路径 linux路径,四、记录1----获取hdfs上FileSystem的方法 记录2:正则匹配路径:linux、hdfs... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/*** 經過正則獲取該目錄下知足條件的全部目錄

*@paramluceneFilePathRegular 正則目錄,如/user/solrindex/正則表達式

*@return知足正則表達式的目錄集合 list*/

public static ListfetchDirByRegularLinux(String luceneFilePathRegular){

List list=new ArrayList<>();//分割獲取主目錄

int len= luceneFilePathRegular.lastIndexOf(EtlConstants.LINUX_ROUTE_SEGMENT)+1;

String mainDir=luceneFilePathRegular.substring(0, len);

String regular=luceneFilePathRegular.substring(len,luceneFilePathRegular.length());

File dir=newFile(mainDir);if(dir.exists() &&dir.isDirectory()){

File [] arr=dir.listFiles();for(File file : arr) {if (file.exists() &&file.isDirectory()) {

String fileName=file.getName();if(matchStr(fileName, regular)) {

list.add(file.getAbsolutePath()+SolrUtil.INDEX_DIR_SUFFIX);

}

}

}

}if(list.size()>0){

LOGGER.info("經過正則匹配到的Solr目錄有:");for(String s : list) {

LOGGER.info(s);

}

}else{

LOGGER.error("路徑{}下,不存在知足正則:{}條件的目錄", dir, regular);

}returnlist;

}/*** 經過正則獲取該目錄下知足條件的全部目錄

*@paramluceneFilePathRegular 正則目錄,如hdfs:/user/solrindex/正則表達式

*@paramnameNodeConfigPath //獲取name配置信息目錄

*@return知足正則表達式的目錄集合 list*/

public static ListfetchDirByRegularHdfs(String luceneFilePathRegular,String nameNodeConfigPath){

List list=new ArrayList<>();

FileSystem fs=HdfsUtil.getFileSystem(nameNodeConfigPath);

String prefixHdfs=luceneFilePathRegular.split(":")[0];

String hdfsPath=luceneFilePathRegular.split(":")[1];//分割獲取主目錄

int len= hdfsPath.lastIndexOf(EtlConstants.LINUX_ROUTE_SEGMENT)+1;

String mainDir=hdfsPath.substring(0, len);

String regular=hdfsPath.substring(len, hdfsPath.length());try{

FileStatus[] fileStatuses= fs.globStatus(new Path(mainDir+"*"));for(FileStatus fileStatus : fileStatuses){if (fileStatus.isDirectory() &&matchStr(fileStatus.getPath().getName(), regular)) {

list.add(prefixHdfs+":"+mainDir+fileStatus.getPath().getName()+SolrUtil.INDEX_DIR_SUFFIX);

}

}

}catch(IOException e) {

LOGGER.error("獲取hdfs目錄信息異常,路徑:{},異常信息:{}",luceneFilePathRegular,e.getMessage());

e.printStackTrace();

}if(list.size()>0){

LOGGER.info("經過正則匹配到的Solr目錄有:");for(String s : list) {

LOGGER.info(s);

}

}else{

LOGGER.error("路徑{}下,不存在知足正則:{}條件的目錄", luceneFilePathRegular, regular);

}returnlist;

}/*** @Method Description:按正則表示是匹配字符串

*@paramstr

*@paramregular

*@return*@author: libingjie*/

public staticBoolean matchStr(String str, String regular) {

Pattern pattern=Pattern.compile(regular);

Matcher matcher=pattern.matcher(str);returnmatcher.matches();

}

總結

以上是生活随笔為你收集整理的hdfs路径 linux路径,四、记录1----获取hdfs上FileSystem的方法 记录2:正则匹配路径:linux、hdfs...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。