版权声明:本文为博主原创文章,未经博主同意不得转载。安金龙 的博客。 https://blog.csdn.net/smile0198/article/details/37573081

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相关推荐

  1. java读取hdfs文件夹_HDFS 读取、写入、遍历文件夹获取文件全路径、append

    1.从HDFS中读取数据 Configuration conf = getConf(); Path path = new Path(pathstr); FileSystem fs = FileSyst ...

  2. c语言搜索多层文件夹,c语言 遍历搜索文件夹(获取文件夹中所有内容)

    需要用来存储文件各种信息的结构体:struct_finddata_t 及查找函数:_findfirst._findnext和_fineclose. [1] _finddata_t结构体 struct ...

  3. c语言 遍历搜索文件夹(获取文件夹中所有内容)

    需要用来存储文件各种信息的结构体:struct_finddata_t 及查找函数:_findfirst._findnext和_fineclose. [1] _finddata_t 结构体 struct ...

  4. python 遍历文件夹下文件修改并保存_利用python完成自动化的任务之遍历文件夹修改文件之后并保存备份...

    #利用python完成自动化的任务 #遍历文件夹里面的所有的内容--然后打开---利用正则表达式修改文本的内容(re.sub)---然后写入到新的文本内容中 import docx import re ...

  5. Python文件(一):文件类型、文件的打开,读取写入,关闭、文件备份、文件和文件夹的操作

    一.文件 文件是存储在存储器上的一组数据序列,可以包含任何数据内容. 文件是数据的抽象和集合. 二.文件类型 文本文件:长字符串 二进制是信息按照非字符但有特定格式形成的文件,文件内部数据的组织格式与 ...

  6. php获得指定目录文件,PHP遍历指定文件夹获取路径及大小(包含子文件夹)

    PHP获取指定文件夹下(包含子文件夹)所有文件路径 及 大小 代码如下: // 获取指定文件夹 所有文件及大小 (包含子文件夹) By [简爱] function JA_files2arr($dirp ...

  7. java 读取手机文件_Android获取手机文件夹及文件列表的方法

    先看看效果图: package wuwang.tools.utils; import java.io.File; import java.io.FileInputStream; import java ...

  8. linux 获取文件夹下文件信息,linux下获取文件夹下子文件列表

    linux下获取文件夹下子文件列表 预置条件: 1.只遍历当前目前,不遍历当前目录的子文件夹 2.根据用户提供的开始时间戳以及持续时间,返回在这个时间区间内被修改过的文件列表. 相关知识: 1.str ...

  9. QListWidget读取本地文件夹中文件并显示名字,双击读取xml数据

    文章目录 前言 一.读取本地文件并显示 二.双击读取数据 前言 本文主要是为了解决QListWidget读取本地文件夹中文件,并且显示的问题.然后双击读取其中xml数据 一.读取本地文件并显示 如下的 ...

最新文章

  1. 【转】老程序猿给新程序猿的13点建议
  2. 励志前行,加速BCH创新落地
  3. iTerm2配置自动通过堡垒机登录服务器
  4. TC SRM 562 div2 B 题
  5. Left 4 Dead升级补丁总汇(3663-3986)
  6. 搭建NFS共享目录,解决wordpress负载均衡图片上传问题
  7. ActionScript 3.0 编程
  8. vue开发环境的搭建流程
  9. 每个程序员1小时内必须解决的5个编程问题(转)
  10. 基于SpringBoot 学生成绩管理系统的设计与实现
  11. 用GNS3制作路由交换网络拓扑图
  12. PyQt5初学试验记录(三):Pyinstaller打包小结
  13. Backpack VI
  14. perl与c相互调用
  15. 滴滴业务中台架构之术:来自技术专家的实践
  16. 深受程序员鄙视的外行语录!
  17. nginx配置-根据UA进行域名跳转且仅限域名访问
  18. [野狐行网游研究][三期四期][8.25更新]
  19. HTML5播放器杂音,HTML5 P5.js使用噪音算法实现的超炫彩虹曲线
  20. 招聘 关于数通与云计算的岗位

热门文章

  1. 6寸照片的尺寸是多少_各类证件照标准尺寸大全
  2. 未经专业销密的计算机设备,DOC1-题
  3. PDE2 three fundamental examples
  4. MATLAB中的光照处理
  5. 斗罗大陆服务器维护,04.28《斗罗大陆:武魂觉醒》停服维护公告(修罗1-7服先行服)...
  6. java litjson_仿造 Gson 的自制 json 解析器
  7. matlab jpeg 工具包,安装Matlab JPEG Toolbox
  8. pytorch之model.zero_grad() 与 optimizer.zero_grad()
  9. ip fragmentation_为什么 TCP/IP 协议会拆分数据
  10. vs2008 MFC访问Access 2010数据库