2015-08-14 2 views
-1

Я читаю файл userId из файла, который находится в HDFS. Я читаю файл через буферизированный Reader по строкам и добавляю currentsytemdate к userId и сохраняю его в arraylist после окончания файла. Я пишу список массивов в тот же файл. Но я не хочу добавлять к arraylist. Я хочу, чтобы прочитать строку, добавьте currentsystemdate и напишите в тот же файл, возможно ли это.HDFS Чтение операций записи одновременно

ответ

0

HDFS в основном состоит из «записи один раз, прочитанного много раз». Если вы пытаетесь обновить лучшим вариантом будет HBase. В заданиях mapreduce, которые вы можете использовать через TableInputFormat и TableOutputFormat. Надеюсь, это может вам помочь.

0

Я читаю файл test.txt, который находится в hdfs и добавляет «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(); 

    } 
} 
Смежные вопросы