往hdfs上追加数据

往hdfs上追加数据,第1张

你的hadoop参数配置正确了吗?在hdfs-site.xml中把以下属性修改为true才可以。

<property>

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

<乱含value>true</value>

</property>

下面有一段测试代码,你可以参考一下:

package com.wyp

import org.apache.hadoop.conf.Configuration

import org.apache.hadoop.fs.FileSystem

import org.apache.hadoop.fs.Path

import org.apache.hadoop.io.IOUtils

import java.io.*

import java.net.URI

public class AppendContent {

public static void main(String[] args) {

String hdfs_path = "hdfs://mycluster/home/wyp/wyp.txt"//文哗游笑件路径

Configuration conf = new Configuration()

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

String inpath = "/home/wyp/磨升append.txt"

FileSystem fs = null

try {

fs = FileSystem.get(URI.create(hdfs_path), conf)

//要追加文件流,inpath为文件

InputStream in = new

BufferedInputStream(new FileInputStream(inpath))

OutputStream out = fs.append(new Path(hdfs_path))

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

} catch (IOException e) {

e.printStackTrace()

}

}

}

顺序文件不能直接再前面和扰丛追加写入,可按下列步骤,利用下述步骤来实现1 创建一个新的文件唤樱。2 写入要追加的数据3从原文件中读取数据,追加写入李拦新文件中4 删除原文件。5 重新命名新文件为老文件名。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11974481.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存