How to update a file in HDFS

Raj picture Raj · Aug 24, 2016 · Viewed 26.3k times · Source

I know that HDFS is write once and read many times.
Suppose if i want to update a file in HDFS is there any way to do it ?

Thankyou in advance !

Answer

daemon12 picture daemon12 · Aug 25, 2016

Option1:

If you just want to append to an existing file

  1. echo "<Text to append>" | hdfs dfs -appendToFile - /user/hduser/myfile.txt OR

  2. hdfs dfs -appendToFile - /user/hduser/myfile.txt and then type the text on the terminal. Once you are done typing then hit 'Ctrl+D'

Option2:

Get the original file from HDFS to the local filesystem, modify it and then put it back on HDFS.

  1. hdfs dfs -get /user/hduser/myfile.txt

  2. vi myfile.txt #or use any other tool and modify it

  3. hdfs dfs -put -f myfile.txt /user/hduser/myfile.txt