Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java HDFS一次读写操作_Java_Hadoop - Fatal编程技术网

Java HDFS一次读写操作

Java HDFS一次读写操作,java,hadoop,Java,Hadoop,我正在从HDFS中的文件读取用户ID。我通过缓冲读取器逐行读取文件,并将currentsytemdate附加到用户ID,并在文件结束后将其存储在arraylist中。我将数组列表写入同一文件。但是我不想添加到arraylist,我想读一行,附加currentsystemdate并写入同一个文件是否可能HDFS主要是关于“写入一次,读取多次”。如果您试图更新该值,更好的选项将是HBase。 在mapreduce作业中,可以通过TableInputFormat和TableOutputFormat使用

我正在从HDFS中的文件读取用户ID。我通过缓冲读取器逐行读取文件,并将currentsytemdate附加到用户ID,并在文件结束后将其存储在arraylist中。我将数组列表写入同一文件。但是我不想添加到arraylist,我想读一行,附加currentsystemdate并写入同一个文件是否可能

HDFS主要是关于“写入一次,读取多次”。如果您试图更新该值,更好的选项将是HBase。 在mapreduce作业中,可以通过TableInputFormat和TableOutputFormat使用。
希望它能对您有所帮助。

我正在阅读位于hdfs中的test.txt文件,并将“Kishore”附加到该文件的每一行。根据你的问题改变你的逻辑

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStreamWriter;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class Append {
    public static void main(String[] args) throws IOException {
        Configuration conf = new Configuration();
        conf.addResource(new Path(
                "/home/kishore/BigData/hadoop/etc/hadoop/core-site.xml"));
        String line = "Kishore";
        Path path = new Path("hdfs://localhost:9000/test.txt");
        FileSystem fs = FileSystem.get(conf);
        BufferedWriter br = new BufferedWriter(new OutputStreamWriter(
                fs.append(path)));
        for(int i=0; i< 1000;i++){
            br.write(i+"\n");

        }

        br.close();

    }
}
导入java.io.BufferedWriter;
导入java.io.IOException;
导入java.io.OutputStreamWriter;
导入org.apache.hadoop.conf.Configuration;
导入org.apache.hadoop.fs.FileSystem;
导入org.apache.hadoop.fs.Path;
公共类附加{
公共静态void main(字符串[]args)引发IOException{
Configuration conf=新配置();
conf.addResource(新路径(
“/home/kishore/BigData/hadoop/etc/hadoop/core site.xml”);
字符串line=“Kishore”;
路径路径=新路径(“hdfs://localhost:9000/test.txt");
FileSystem fs=FileSystem.get(conf);
BufferedWriter br=新的BufferedWriter(新的OutputStreamWriter(
fs.append(path));
对于(int i=0;i<1000;i++){
br.写入(i+“\n”);
}
br.close();
}
}