I’m looking to implement a custom hadoop Writable class where one of the fields is a time stamp. I can’t seem to find a class in the hadoop libraries (e. g. a Writable for Date or Calendar) which would make this easy. I’m thinking of creating a custom writable using get/setTimeInMillis on Calendar, but I’m wondering if there is a better/built-in solution to this problem.
Share
There is no Writable for a Calendar/Date in Hadoop. Considering that you can get the timeInMillis as a long from the Calendar object you can use the LongWritable to serialiaze a calendar object if and only if your application always uses the default UTC time zone (i.e. it’s “agnostic” to time zones, it always assumes that timeInMillis represent an UTC time).
If you use another time zone or if your application needs to be able to interpret a timeInMillis with respect to various time zone, you’ll have to write from scratch a default Writable implementation.