向HDFS中追加内容

最近项目开发中遇到的问题:

需要向生成好的hdfs文件中追加内容,但是线上使用的版本是1.0.3,查看官方文档发现,在1.0.4版本以后才支持文件append

一下是向hdfs中追加信息的操作方法

如果你只在某一个driver中追加内容信息,不必要对于整个HDFS都开启内容追加:

在某个方法中,追加文件信息:

private void combinerMid(Path input,Path output,Configuration conf){

FileSystem hdfs = null;

conf.setBoolean("dfs.support.append", true);

try{

hdfs = FileSystem.get(conf);

FSDataInputStream in = hdfs.open(input);

FSDataOutputStream out = hdfs.append(output);

IOUtils.copyBytes(in,out,4096,true);

}catch (IOException e){

e.printStackTrace();

}

}

使用以上方法,便可以向output文件中追加input中的文件内容

如果需要开启对于整个HDFS的文件追加内容权限需要在

hdfs-site.xml中增加以下配置

<property>

<name>dfs.support.append</name>

<value>true</value>

</property>

时间: 2024-10-16 05:46:45

向HDFS中追加内容的相关文章

flume 增量上传日志文件到HDFS中

1.采集日志文件时一个很常见的现象 采集需求:比如业务系统使用log4j生成日志,日志内容不断增加,需要把追加到日志文件中的数据实时采集到hdfs中. 1.1.根据需求,首先定义一下3大要素: 采集源,即source-监控日志文件内容更新:exec 'tail -F file' 下沉目标,即sink-HDFS文件系统:hdfs sink Source和sink之间 1.采集日志文件时一个很常见的现象 采集需求:比如业务系统使用log4j生成日志,日志内容不断增加,需要把追加到日志文件中的数据实时

[ jquery 文档处理 append(content|fn) ] 此方法用于向每个匹配的元素内部追加内容,这个操作与javascript对指定的元素执行appendChild方法,将它们添加到文档中的情况类似

此方法用于向每个匹配的元素内部追加内容,这个操作与javascript对指定的元素执行appendChild方法,将它们添加到文档中的情况类似 参数解释如下: content 要追加到目标中的内容 function(index, html) 返回一个HTML字符串,用于追加到每一个匹配元素的里边.接受两个参数,index参数为对象在这个集合中的索引值,html参数为这个对象原先的html值. 实例: <html lang='zh-cn'> <head> <title>I

将字符串向hdfs中写入,出现中文乱码!

jsonObject.toString():需要处理的json对象转成的字符串 "/testData/ExtractKWByOnce.txt":写入hdfs中的目标路径 try { Configuration configuration=new Configuration(); InputStream inputStream=new BufferedInputStream( new ByteArrayInputStream(jsonObject.toString().getBytes(

HDFS中的命令行

HDFS中的命令行 本文介绍了HDFS以命令行执行的时候.几个经常使用的命令行的作用和怎样使用~ 1. fs fs是启动命令行动作,该命令用于提供一系列子命令. 使用形式为hadoop fs –cmd <args> 当中,cmd是子命令,args是详细的命令操作. 比如hadoop fs –help 或者说fs是其余子命令的父亲.其余都是在"-cmd"的模式下的! 2. –cat 输出 hadoop fs –cat URI 将路径指定的文件输出到屏幕 3. –copyFro

使用选择器在页面中插入内容

我不知道是否有其他人能看见我写的内容,由于我是一个渣渣,很多内容都不知道,所以将这些很简单的东西都记录下来,希望不小心点进来的大神们,能吐槽一下我,呃指点一下我.和我一样的小白们希望能相互学习,谢谢了. 在css中可以使用before伪元素选择器 after伪元素选择器在页面中插入内容,而插入的内容由content属性来定义     一:使用选择器来插入文字 使用选择器来插入文字,在插入的内容是文字时要在文字的两旁加入单引号或者双引号. 为了使插入的内容美观,可以在选择器中加入添加的内容的样式

HDFS中JAVA API的使用

转自:http://www.cnblogs.com/liuling/p/2013-6-17-01.html 相关源代码:http://www.cnblogs.com/ggjucheng/archive/2013/02/19/2917020.html HDFS是一个分布式文件系统,既然是文件系统,就可以对其文件进行操作,比如说新建文件.删除文件.读取文件内容等操作.下面记录一下使用JAVA API对HDFS中的文件进行操作的过程. 对分HDFS中的文件操作主要涉及一下几个类: Configurat

jquery 元素控制(追加元素/追加内容)介绍及应用

一.在元素内部/外部追加元素 append,prepend:添加到子元素 before,after:作为兄弟元素添加 html: <div id="content"> 在我的后面追加一条新闻 </div> js: <script type="text/javascript"> jQuery(function(){ //在元素内部追加内容 $("#content").append(" 姚明退役了...

XML文档追加内容,读取内容

<> 1>从根节点开始追加 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Xml; namespace 追加XML { class Program { static void Main(string[] args) { //追加XML文档(追加X

css3在页面中插入内容

A. 使用选择器来插入内容 h2:before{ content:"前缀"; } h2:after{ content:"后缀"; } B. 指定个别的元素不进行插入 h2.sample:before{ content:none; } 2. 插入图像 A. 在标题前插入图像文件 h2:before{ content:url(anwy.jpg); } B. 将alt属性的值作为图像的标题来显示(用不了) img:after{ content:attr(alt); dis