`
zhaohuafei
  • 浏览: 28234 次
文章分类
社区版块
存档分类
最新评论

HDFS——如何从HDFS上读取文件内容

 
阅读更多
用这个命令bin/hadoop fs -cat 可以将HDFS上的文件内容读取到控制台。

也可以采用HDFS的API来读取。如下:
import java.net.URI;
import java.io.InputStream;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
public class FileCat 
{
 public static void main(String[] args) throws Exception
 {
  if(args.length != 1){
   System.out.println("Usage FileCat <target>");
   System.exit(1);
  }
  Configuration conf = new Configuration();
  FileSystem hdfs = FileSystem.get(URI.create(args[0]),conf);
  InputStream in = null;
  try{
   in = hdfs.open(new Path(args[0]));
   IOUtils.copyBytes(in,System.out,4096,true);
  }finally{
   IOUtils.closeStream(in);
  }
 }
}


分享到:
评论

相关推荐

    《HDFS——Hadoop分布式文件系统深度实践》PDF

    《HDFS——Hadoop分布式文件系统深度实践》这本书是针对Hadoop分布式文件系统(HDFS)的详尽指南,旨在帮助读者深入理解HDFS的工作原理、设计思想以及在实际应用中的最佳实践。HDFS是Apache Hadoop项目的核心组件之...

    java操作Hadoop源码之HDFS Java API操作-上传文件

    在Java编程环境中,Hadoop分布式文件系统(HDFS)提供了丰富的Java API,使得开发者能够方便地与HDFS进行交互,包括文件的上传、下载、读写等操作。本篇文章将详细探讨如何使用HDFS Java API来实现文件上传的功能。 ...

    分布式存储系统——HDFS

    在读取数据时,客户端请求NameNode获取数据块的位置,然后直接从一个或多个DataNode上读取数据块。HDFS通过并行读取多个数据块副本的方式来提高读取效率。 总的来说,HDFS以其可扩展性强、容错性高、成本低廉等特点...

    云计算技术实验报告四HDFS文件的读写

    `PutMerge`可能涉及`FileSystem` API,用于打开本地文件,读取内容,然后写入HDFS的一个新文件。而`GetMerger`可能需要用到`FileSystem` API的`listStatus()`方法来获取HDFS目录中的所有文件,逐个下载它们,然后在...

    Talend学习笔记2——mysql文件导入到HDFS

    ### Talend学习笔记2——mysql文件导入到HDFS #### 关键知识点概览 - **Talend Data Integration** - **MySQL 数据库** - **Hadoop 和 HDFS(Hadoop Distributed File System)** #### 详细知识点说明 ##### 1. ...

    在HDFS上使用Lucene的SourceCode

    3. 在`Mapper`阶段,读取每个分片的内容,创建`Document`对象,并添加到`IndexWriter`中,就像在本地文件系统上一样。 4. 在`Reducer`阶段,可以合并多个`RAMDirectory`并写入最终的HDFS目录。 5. 最后,使用`...

    大数据技术基础实验报告-调用Java API实现HDFS操作.doc

    这些JAR包包含了Hadoop的Java API,它们允许开发者编写Java应用程序来直接与HDFS进行交互,如读取、写入和管理文件。通过这些API,我们可以实现数据的上传、下载、查找、删除等基本操作,以及更复杂的文件系统操作。...

    大数据采集技术-flume监控文件内容至hdfs.pdf

    首先,我们要理解实训目标——掌握Flume监控文件内容的功能。Flume的核心在于其数据流模型,由源(Source)、通道(Channel)和 Sink 组成。Source 是数据的生产者,负责从不同的数据源获取数据;Channel 暂存这些数据,...

    HDFS原理介绍

    - **存储过程**:当客户端上传一个文件时,HDFS会按照默认设置将文件分割成多个block(例如64MB),并根据NameNode的指示存储到不同的DataNode上。 - **机架感知**:为了提高数据的可靠性和读取效率,HDFS具备机架...

    hdfs_design.rar_HDFS-OPERATE_hadoop_hadoop java_hdfs

    《HDFS设计与操作——基于Hadoop的Java实践》 Hadoop分布式文件系统(HDFS)是Apache Hadoop项目的核心组件之一,它为大规模数据处理提供了可扩展、高容错性的存储解决方案。本资料集围绕“hdfs_design.rar”这个...

    HDFS构架设计和读写流程.docx

    HDFS(Hadoop Distributed File System),即Hadoop分布式文件系统,旨在解决大规模数据集的存储问题,它通过将数据分散存储在由多台低成本商用服务器组成的集群上,实现了高可靠性和高吞吐量的服务。相较于传统的...

    HDFS源码解析

    《HDFS源码解析——揭示分布式文件系统的内在奥秘》 在大数据时代,Hadoop的HDFS(Hadoop Distributed File System)作为分布式存储系统的重要代表,其高效、可靠的特性为海量数据处理提供了坚实的基础设施。深入...

    hadoop源码分析-HDFS部分

    《Hadoop源码分析——HDFS部分》 Hadoop,作为开源大数据处理的基石,其核心组件之一就是HDFS(Hadoop Distributed File System),这是一个高度容错性的分布式文件系统,设计用于运行在廉价硬件上,能够处理大规模...

    MapReduce框架和HDFS框架

    当MapReduce任务启动时,HDFS会提供数据输入,Map阶段的处理结果被临时存储在HDFS上,随后在Reduce阶段被读取和进一步处理。这种紧密的协作使得Hadoop能够处理PB级别的数据,并在大规模集群中高效运行。 总的来说,...

    基于Spark Streaming将图片以流的方式写入HDFS分布式文件系统.zip

    "基于Spark Streaming将图片以流的方式写入HDFS分布式文件系统" 这个标题揭示了我们讨论的核心技术栈。首先,Spark Streaming是Apache Spark的一部分,它允许实时处理连续的数据流。这里提到的"图片"是指我们要处理...

    Hadoop技术内幕 深入解析HADOOP COMMON和HDFS架构设计与实现原理.pdf

    1. 块级存储:HDFS将大文件切分成多个固定大小的块,每个块多副本分布在不同的DataNode上,提高了容错性和读取效率。 2. 写入流程:客户端首先与NameNode交互,确定写入的块位置,然后直接向DataNode写入数据,最后...

    PyPI 官网下载 | hdfs3-0.1.2.tar.gz

    今天我们将聚焦于一个特定的Python库——hdfs3,其最新版本hdfs3-0.1.2.tar.gz可以从PyPI官网上获取。这个压缩包包含了该库的源代码和其他相关文件,使得开发者能够轻松地在自己的项目中集成和使用hdfs3。 hdfs3是...

    Hdfs到Mysql全量同步实验手册.pdf

    《Hdfs到Mysql全量同步实验手册》的实践指南主要涵盖了大数据采集技术的一个关键应用场景——从Hadoop HDFS到MySQL的数据全量同步。在这个过程中,DataX作为一个强大的数据迁移工具,扮演了核心角色。以下是关于这个...

Global site tag (gtag.js) - Google Analytics