Home | About | Sematext search-lucene.com search-hadoop.com
 Search Hadoop and all its subprojects:

Switch to Threaded View
Hadoop, mail # user - Read Little Endian Input File Format


Copy link to this message
-
Re: Read Little Endian Input File Format
Owen O'Malley 2012-07-09, 20:53
On Mon, Jul 9, 2012 at 1:33 PM, Mike S <[EMAIL PROTECTED]> wrote:

> The input file to my M/R job is a file with binary data (20 mix of
> int, long, float and double per record) which are all saved in little
> endian. I have implement my custom record reader to read a record and
> to do so I am currently using the ByteBuffer to convert every entry in
> the file. I am wondering if there is a more efficient way of doing?
>

I would either make a large ByteBuffer and read into it or use:

// read big endian int
int val = in.readInt();
// flip to little endian
val = ((val & 0xff) << 24) | ((val & 0xff00 << 8) | ((val & 0xff0000) >> 8)
| (val >>> 24);

-- Owen