That will break the consistency of the file system, but it doesn't hurt to try. On Jul 17, 2014 8:48 PM, "Zesheng Wu" <[email protected]> wrote:
> How about write a new block with new checksum file, and replace the old > block file and checksum file both? > > > 2014-07-17 19:34 GMT+08:00 Wellington Chevreuil < > [email protected]>: > >> Hi, >> >> there's no way to do that, as HDFS does not provide file updates >> features. You'll need to write a new file with the changes. >> >> Notice that even if you manage to find the physical block replica files >> on the disk, corresponding to the part of the file you want to change, you >> can't simply update it manually, as this would give a different checksum, >> making HDFS mark such blocks as corrupt. >> >> Regards, >> Wellington. >> >> >> >> On 17 Jul 2014, at 10:50, Zesheng Wu <[email protected]> wrote: >> >> > Hi guys, >> > >> > I recently encounter a scenario which needs to replace an exist block >> with a newly written block >> > The most straightforward way to finish may be like this: >> > Suppose the original file is A, and we write a new file B which is >> composed by the new data blocks, then we merge A and B to C which is the >> file we wanted >> > The obvious shortcoming of this method is wasting of network bandwidth >> > >> > I'm wondering whether there is a way to replace the old block by the >> new block directly. >> > Any thoughts? >> > >> > -- >> > Best Wishes! >> > >> > Yours, Zesheng >> >> > > > -- > Best Wishes! > > Yours, Zesheng >
