HDFS 读取、写入、遍历文件夹获取文件全路径、append
1、从HDFS中读取数据
Configuration conf = getConf();Path path = new Path(pathstr); FileSystem fs = FileSystem.get(conf);FSDataInputStream fsin= fs.open(path ); BufferedReader br =null;String line ;try{br = new BufferedReader(new InputStreamReader(fsin));while ((line = br.readLine()) != null) {System.out.println(line);} }finally{br.close();}
2、写HDFS
Configuration conf = getConf();Path path = new Path(mid_sort); FileSystem fs = FileSystem.get(conf); FSDataOutputStream out = fs.create(resultpath);out.write(sb.toString().getBytes());out.close();
3、遍历文件夹 获取文件 全路径
/*** 得到一个文件夹(不包含子文件夹)下的全部名字匹配上pattern的文件名称* @param fs* @param folderPath* @param pattern 用于匹配文件名称的正则* @return* @throws IOException*/public static List<Path> getFilesUnderFolder(FileSystem fs, Path folderPath, String pattern) throws IOException {List<Path> paths = new ArrayList<Path>();if (fs.exists(folderPath)) {FileStatus[] fileStatus = fs.listStatus(folderPath);for (int i = 0; i < fileStatus.length; i++) {FileStatus fileStatu = fileStatus[i];if (!fileStatu.isDir()) {//仅仅要文件Path oneFilePath = fileStatu.getPath();if (pattern == null) {paths.add(oneFilePath);} else {if (oneFilePath.getName().contains(pattern)) {paths.add(oneFilePath);}} }}}return paths;}
4、追加数据 append
public static boolean appendRTData(String hdfsFile, String appendFile) {boolean flag = false;Configuration conf = new Configuration();FileSystem fs = null;try {fs = FileSystem.get(URI.create(hdfsFile), conf);InputStream in = new BufferedInputStream(new FileInputStream(appendFile));OutputStream out = fs.append(new Path(hdfsFile));IOUtils.copyBytes(in, out, 4096, true);} catch (IOException e) {e.printStackTrace();}return flag;}
***********************************************************************************************************************************************
***********************************************************************************************************************************************
异常信息
1、Exception in thread "main" java.lang.IllegalArgumentException: java.net.UnknownHostException: ns6
原因是没有载入hdfs的配置信息,须要加入以下的代码:
conf.addResource(new Path("/xxxx/hdfs-site.xml"));//path是配置文件地址
假设配置了环境变量能够在不同的机器上使用:
conf.addResource(new Path(System.getenv("HADOOP_CONF") + "/hdfs-site.xml"));
转载于:https://www.cnblogs.com/mqxnongmin/p/10686142.html
HDFS 读取、写入、遍历文件夹获取文件全路径、append相关推荐
- java读取hdfs文件夹_HDFS 读取、写入、遍历文件夹获取文件全路径、append
1.从HDFS中读取数据 Configuration conf = getConf(); Path path = new Path(pathstr); FileSystem fs = FileSyst ...
- c语言搜索多层文件夹,c语言 遍历搜索文件夹(获取文件夹中所有内容)
需要用来存储文件各种信息的结构体:struct_finddata_t 及查找函数:_findfirst._findnext和_fineclose. [1] _finddata_t结构体 struct ...
- c语言 遍历搜索文件夹(获取文件夹中所有内容)
需要用来存储文件各种信息的结构体:struct_finddata_t 及查找函数:_findfirst._findnext和_fineclose. [1] _finddata_t 结构体 struct ...
- python 遍历文件夹下文件修改并保存_利用python完成自动化的任务之遍历文件夹修改文件之后并保存备份...
#利用python完成自动化的任务 #遍历文件夹里面的所有的内容--然后打开---利用正则表达式修改文本的内容(re.sub)---然后写入到新的文本内容中 import docx import re ...
- Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作
一.文件 文件是存储在存储器上的一组数据序列,可以包含任何数据内容. 文件是数据的抽象和集合. 二.文件类型 文本文件:长字符串 二进制是信息按照非字符但有特定格式形成的文件,文件内部数据的组织格式与 ...
- php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)
PHP获取指定文件夹下(包含子文件夹)所有文件路径 及 大小 代码如下: // 获取指定文件夹 所有文件及大小 (包含子文件夹) By [简爱] function JA_files2arr($dirp ...
- java 读取手机文件_Android获取手机文件夹及文件列表的方法
先看看效果图: package wuwang.tools.utils; import java.io.File; import java.io.FileInputStream; import java ...
- linux 获取文件夹下文件信息,linux下获取文件夹下子文件列表
linux下获取文件夹下子文件列表 预置条件: 1.只遍历当前目前,不遍历当前目录的子文件夹 2.根据用户提供的开始时间戳以及持续时间,返回在这个时间区间内被修改过的文件列表. 相关知识: 1.str ...
- QListWidget读取本地文件夹中文件并显示名字,双击读取xml数据
文章目录 前言 一.读取本地文件并显示 二.双击读取数据 前言 本文主要是为了解决QListWidget读取本地文件夹中文件,并且显示的问题.然后双击读取其中xml数据 一.读取本地文件并显示 如下的 ...
最新文章
- 【转】老程序猿给新程序猿的13点建议
- 励志前行,加速BCH创新落地
- iTerm2配置自动通过堡垒机登录服务器
- TC SRM 562 div2 B 题
- Left 4 Dead升级补丁总汇(3663-3986)
- 搭建NFS共享目录,解决wordpress负载均衡图片上传问题
- ActionScript 3.0 编程
- vue开发环境的搭建流程
- 每个程序员1小时内必须解决的5个编程问题(转)
- 基于SpringBoot 学生成绩管理系统的设计与实现
- 用GNS3制作路由交换网络拓扑图
- PyQt5初学试验记录(三):Pyinstaller打包小结
- Backpack VI
- perl与c相互调用
- 滴滴业务中台架构之术:来自技术专家的实践
- 深受程序员鄙视的外行语录!
- nginx配置-根据UA进行域名跳转且仅限域名访问
- [野狐行网游研究][三期四期][8.25更新]
- HTML5播放器杂音,HTML5 P5.js使用噪音算法实现的超炫彩虹曲线
- 招聘 关于数通与云计算的岗位
热门文章
- 6寸照片的尺寸是多少_各类证件照标准尺寸大全
- 未经专业销密的计算机设备,DOC1-题
- PDE2 three fundamental examples
- MATLAB中的光照处理
- 斗罗大陆服务器维护,04.28《斗罗大陆:武魂觉醒》停服维护公告(修罗1-7服先行服)...
- java litjson_仿造 Gson 的自制 json 解析器
- matlab jpeg 工具包,安装Matlab JPEG Toolbox
- pytorch之model.zero_grad() 与 optimizer.zero_grad()
- ip fragmentation_为什么 TCP/IP 协议会拆分数据
- vs2008 MFC访问Access 2010数据库