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...相关推荐
- wget 自己服务器上的文件,关于linux:wget可以用于获取服务器上的所有文件吗?...
可以用来获取服务器上的所有文件.如果这是在我的网站foo.com上使用Django框架的目录结构,请假设 如果这是目录结构 /web/project1 /web/project2 /web/proje ...
- linux c curl 乱码,curl获取结果乱码的解决方法之CURLOPT_ENCODING(curl/Post请求)
对于SSH框架的选择 选择框架:SSH 对于Web开发来说,SSH框架可以提高开发效率,还可以方便需求的变更以及对后期维护方面更容易操作.SSH也是目前稍微流行的Web开发框架. 选择框架描述: 首先 ...
- Linux中通过v4l2框架获取摄像头的能力的方法
v4l2(video for linux two)是Linux中内核提供给应用层访问音视频驱动的统一接口.v4l2中获取摄像头的能力的是通过ioctl函数的VIDIOC_QUERYCAP命令获取,并且 ...
- Linux中内联函数,Windows 7上的内联函数的doParallel问题(适用于Linux)
我在 Windows 7和 Linux(SUSE Server 11(x86_64))上都使用R 3.0.1.以下示例代码在Windows上产生错误,但在Linux上不产生错误.列出的所有工具箱在两台 ...
- mac虚拟机linux性能测试,Veertu 1.0.4 – Mac上最轻便的虚拟机,可以运行Windows/Linux。...
在Mac上运行 Windows / Linux Veertu简单.轻.安全的虚拟化软件设计的MAC. 与Veertu你可以运行你喜欢的窗口或Linux分布直接在OS X的系统管理框架Veertu供电和 ...
- linux开发板设置时间,开发板上修改时间方法
之前使用开发板时发现每次开机后,系统的时间都恢复到初始状态1970年. 一. 先说一下时钟的概念,时钟包括硬件时钟和系统时钟,系统时钟就是linux系统显示的时间,用命令date可以显示当前系统时间: ...
- linux grep 正则匹配字符串,Linux grep与正则表达式详解
grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,本文主要给大家分享Linux grep与正则表达式的相关知识,感兴趣的朋友一起看看吧,希望能帮助到大家. grep ...
- Linux修改IP之后远程连接不上的解决方法
注意:此方法我只实验过CentOS7,没有试6,或者7以上 问题描述: 当修改过Centos的IP之后再远程连接,会出现如下问题 java.net.ConnectException: Connecti ...
- Linux下四款常见远程工具比较
摘要:Linux远程可不像Windows下那么方便,主要是连接的速度.显示的画质不能令人满意(延迟.撕裂).本文只是说一下我用过的四款远程工具.Anydesk官网:https://anydesk.co ...
最新文章
- matlab图形用户界面设计简介
- 阿里某员工论坛炫耀:感谢公司让毕业不到两年的我年入百万
- go语言设计模式 - 建造者模式
- RHEL/CentOS下的VLAN设置
- Codeforces Round #232 Editorial Div2-B
- VS.net下编写makefile文件--NMAKE用法
- 90后招你惹你了?去你的佛系!
- 操作系统(十一)线程的概念和特点
- 在Windows 7 下使用Visual Studio 2010 编写自动申请管理员权限运行的程序
- kafka消费端慢慢延迟(网络带宽不足)
- Windows Mobile的一些网站和资源(由网友搜集 我整理了一下)
- 历史版本_新版本爆料第弹丨英雄练习新去处,荣耀历史秀出来!
- 如何启动php程序,如何第一次运行PHP程序?
- 红帽RHEL8和RHEL7有什么区别?
- SAP License:雾里看花系列——SAP顾问应该脱离”保姆”的角色
- RoboWare Studio安装教程
- 用SAS如何读取数据
- 某电商网站的数据库设计(6)——创建查询销售数据的视图
- Linux C编程一站式学习笔记2
- vscode私钥设置_VScode链接服务器并配置公钥-SSH Keys
热门文章
- 你的“大厂梦”不是梦,你离大厂仅差我这篇博客!!!【吐血推荐】
- Linux Shell 文本处理工具集锦
- 生产环境中,如何防止服务器秘钥被盗取?
- 【MyBatis】Mybatis实现分页效果
- Java多线程的上下文切换
- 世界上根本没有正确的选择
- hdu 4588 Count The Carries 南京邀请赛
- map,存储多个键值对的数据集合
- 报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This versio
- 简洁明了——STL容器库之set头文件常用函数集合