`

hadoop创建文件,如文件存在则追加内容

阅读更多
public static void createNewFile(String path, String content, FileSystem fs) throws Exception{
    	Configuration conf = new Configuration();
    	conf.set("dfs.support.append", "true");
        Path d_path = new Path(path);
        FSDataOutputStream os = null;
        if(fs.exists(d_path)){
        	try {
        		os = fs.append(d_path);
            	os.write(content.getBytes("UTF-8"));
			} catch (Exception e) {
				// TODO: handle exception
				appendFileContent(path, content, fs);
			}
        	
        }else{
        	os = fs.create(d_path);
            
            os.write(content.getBytes("UTF-8"));
            
        }
        if(os != null){
        	os.close();
        }
    }
    
    public static void appendFileContent(String path, String content, FileSystem fs) throws Exception{
    	Configuration conf = new Configuration();
    	Path d_path = new Path(path);
    	if(fs.exists(d_path)){
    		byte[] bytes = readHDFSFile(path);
    		FSDataOutputStream os = fs.create(d_path);
    		os.write(bytes);
    		os.write("\n".getBytes("UTF-8"));
    		os.write(content.getBytes("UTF-8"));
    		os.close();
    	}else{
    		createNewFile(path, content, fs);
    	}
    }
分享到:
评论

相关推荐

    Java API操作Hadoop文件

    此外,Hadoop的API还支持更复杂的功能,如文件重命名、设置权限、检查文件是否存在、文件的追加写入等。同时,`FileSystem`类还提供了异步操作的选项,以提高性能。 在实际开发中,理解Hadoop的副本策略和文件块的...

    hadoop的web上传、下载、更新、删除和文件追加

    在实际应用中,我们可能需要通过Web界面来便捷地管理HDFS(Hadoop分布式文件系统)中的文件,这正是“hadoop的web上传、下载、更新、删除和文件追加”项目的核心内容。此项目结合了Web服务器Tomcat,实现了对HDFS的...

    hadoop Java接口 文件操作类

    通过这些Java接口,开发者可以灵活地在Hadoop集群上实现各种文件操作,构建复杂的数据处理应用。在实际开发中,需要注意错误处理、资源释放以及性能优化,确保程序的稳定性和效率。同时,理解Hadoop的分布式特性,如...

    hadoop分布式文件结构

    ### Hadoop分布式文件系统(HDFS):架构与设计 #### 一、引言与背景 Hadoop分布式文件系统...未来,随着技术的发展,HDFS还将继续演进以支持更多高级功能,例如文件追加等操作,进一步满足不断变化的数据处理需求。

    Hadoop分布式文件系统HDFS深入教程

    Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)作为Hadoop项目的核心组成部分之一,专为在大规模集群环境中高效存储与处理海量数据而设计。它采用了主从架构模型,并且通过一系列组件实现了高度可靠...

    Hadoop汇总整理.doc

    2. 下载 Hadoop,并上传到 Linux 上并解压文件,配置环境变量 HADOOP_INSTALL,在 PATH 中追加内容:HADOOP_INSTALL/bin 和 HADOOP_INSTALL/sbin。 3. 按照配置文件中的信息,配置 core-site.xml、hdfs-site.xml、...

    Hadoop大数据期末考试重点

    2. **配置文件的区别**:hadoop-env.sh配置文件用于确保Hadoop系统能正常运行HDFS守护进程,如NameNode、Secondary NameNode和DataNode,而非yarn-env.sh。 3. **Hadoop2.x的Block大小**:在Hadoop2.x中,默认的...

    Hadoop fs命令详解.docx

    在实际操作中,我们可以使用Hadoop fs命令来管理和维护HDFS文件系统。例如,我们可以使用copyFromLocal命令将本地文件复制到HDFS,然后使用Cat命令查看文件的内容。 本文详细介绍了Hadoop fs命令的使用方法和实践...

    实验2 熟悉常用的HDFS操作

    这些实验步骤旨在帮助学生掌握HDFS的常用操作,包括文件系统的交互、数据读写以及高级功能,如文件追加和目录管理。同时,通过使用Java API,学生将加深对Hadoop生态系统和文件系统API的理解,为后续的大数据处理和...

    Ubuntu下创建hadoop组和hadoop用户.pdf

    【Ubuntu下创建Hadoop组和Hadoop用户】 在Ubuntu操作系统中,...在实际使用中,还需要配置Hadoop的其他配置文件,如`core-site.xml`、`hdfs-site.xml`、`yarn-site.xml`和`mapred-site.xml`,以满足特定的集群需求。

    win7 hadoop

    解压`hadoop-common-2.2.0-bin-master.zip`文件到一个合适的目录,比如`C:\hadoop`,并创建一个名为`hadoop`的文件夹作为Hadoop的工作目录,如`C:\hadoop\hadoopdata`。 配置Hadoop环境变量至关重要。在系统环境...

    Ubuntu下创建hadoop组和hadoop用户.docx

    在Ubuntu操作系统中,部署Hadoop集群的第一步是创建专门用于Hadoop操作的用户和用户组。这个过程确保了系统的安全性和管理的便利性。本文将详细介绍如何在Ubuntu下创建hadoop用户组和hadoop用户,并进行相关的权限...

    Hadoop2.7.3安装文档

    在master节点上创建Hadoop运行所需的文件夹,例如 `/home/trs/hadoop/hadoop-2.7.3`,并进一步在该目录下创建 `/tmp`、`/hdfs`、`/hdfs/data` 和 `/hdfs/name` 文件夹,这些文件夹将用于存放临时数据、HDFS的相关...

    hadoop单机配置方法

    在文件末尾添加以下内容: ``` # Set Hadoop-related environment variables export HADOOP_HOME=/usr/local/hadoop-0.20.2 # Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later ...

    hadoop基本操作.docx

    除了这些基本操作,HDFS还支持其他高级功能,如文件追加、设置权限、重命名、设置副本数量等。了解和熟练使用这些命令对于管理和维护Hadoop集群至关重要。在实际工作中,开发者和管理员还需要理解HDFS的容错机制、块...

    第3章 HadoopAPI操作.pdf

    在本章中,我们主要探讨了如何...Hadoop API不仅限于文件操作,还包括读取、写入、追加数据,以及更复杂的MapReduce任务,如数据过滤、聚合等。通过不断的实践和学习,开发者能够更好地利用Hadoop处理大规模数据集。

    分布式文件系统HDFS

    在HDFS的使用场景中,文件一旦被创建、打开和写入,一般只能在文件末尾追加数据,不能修改文件的中间内容。这种“一次写入、多次读取”的模型符合HDFS设计用来存储用于分析的静态数据的目的。此外,HDFS的客户端库...

    Hadoop2.7.2伪分布部署

    可以通过ssh-keygen命令生成一对密钥,并通过ssh-copy-id命令将公钥复制到远程主机的授权密钥列表中,或者通过cat命令将公钥内容追加到~/.ssh/authorized_keys文件中以实现无密码登录。之后,需要修改该文件的权限,...

    Hadoop(HDFS文件系统)命令操作

    - **-appendToFile <localsrc> **:将本地文件追加到 HDFS 文件的末尾。 - **-cat [-ignoreCrc] **:显示 HDFS 文件的内容。忽略 CRC 校验。 - **-checksum **:显示文件的校验和。 - **-chgrp [-R] GROUP PATH**:...

Global site tag (gtag.js) - Google Analytics