美文网首页Hadoop
Java读取HDFS文件

Java读取HDFS文件

作者: 王勇1024 | 来源:发表于2019-06-27 19:10 被阅读0次

最近在实现一个功能:用户在前端页面触发Docker镜像构建,后端监听Docker镜像的构建状态,并将Docker镜像的构建日志保存到HDFS,之后用户可以随时在前端看到本次构建的日志。
从HDFS读取日志是用下面的方式实现的:

try(final FSDataInputStream inputStream = this.open(hdfsPath)){
      return inputStream.readUTF();
}catch (Exception e){
   log.error(e.getMessage() ,e);
   throw new AlphaException(READ_COMPILE_LOG_ERROR);
}

但通过这种方式读取时最多只能读取1K数据,导致日志不完整。
通过下面的方式可以实现日志的完整读取:

try(final FSDataInputStream inputStream = this.open(hdfsPath)){
    final ByteArrayOutputStream baos = new ByteArrayOutputStream();
    IOUtils.copyBytes(inputStream,baos, 1024);
    return new String(baos.toByteArray());
}catch (Exception e){
    log.error(e.getMessage() ,e);
    throw new AlphaException(READ_COMPILE_LOG_ERROR);
}

相关文章

  • HDFS JAVA 接口

    HDFS的java访问接口——FileSystem 写文件 create 读取文件 open 删除文件 delet...

  • java springboot中 下载上传hdfs文件

    在java springboot 中读取hdfs上面文件,首先在src/resources中添加hdfs-site...

  • Java读取HDFS文件

    最近在实现一个功能:用户在前端页面触发Docker镜像构建,后端监听Docker镜像的构建状态,并将Docker镜...

  • Hadoop HDFS 的 I/O 流操作

    HDFS 文件上传 HDFS 文件下载 定位文件读取 文件合并

  • javaAPI操作HDFS文件

    javaAPI写入HDFS文件。 javaAPI读取HDFS javaAPI删除HDFS

  • HDFS 文件读写过程

    一、HDFS 文件读取剖析 客户端通过调用FileSystem对象的open()来读取希望打开的文件。对于HDFS...

  • Hadoop Java API

    获取HDFS客户端对象 创建文件夹 读取HDFS文件 创建文件、写文件 重命名文件 从本地复制文件到hdfs 复制...

  • 关于HDFS的几个操作纯代码

    一.功能实现: 1:将本地文件上传到HDFS上 2:从HDFS上读取文件到本地 3:删除HDFS上的文件 4:遍历...

  • spark 2.4 操作

    sc.textfile()一读取 本地文件系统目录要加 file:读取hdfs 的要加 hdfs: 二 遇到 这个...

  • 读取HDFS高可用配置下的文件

    Flink/Spark读取hadoop文件 当HDFS开启高可用时,需要传入路径hdfs://mycluster/...

网友评论

    本文标题:Java读取HDFS文件

    本文链接:https://www.haomeiwen.com/subject/hqfdcctx.html