Posts

Showing posts from April, 2013

How to Build Oozie with Different Versions of Hadoop

After downloading Oozie code with svn checkout http://svn.apache.org/repos/asf/oozie/tags/release-3.3.0/ . and then building it with Hadoop 1.1.0 with the familiar mvn clean compile -Dhadoop.version=1.1.0 I got the following error: [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 1:06.497s [INFO] Finished at: Tue Apr 23 12:36:53 BRT 2013 [INFO] Final Memory: 20M/67M [INFO] ------------------------------------------------------------------------ [ERROR] Failed to execute goal on project oozie-sharelib-distcp: Could not resolve dependencies for project org.apache.oozie:oozie-sharelib-distcp:jar:3.3.0: Could not find artifact org.apache.oozie:oozie-hadoop-distcp:jar:1.1.0.oozie-3.3.0 in central (http://repo1.maven.org/maven2) -> [Help 1] Reading a bit about it, and checking some pom files, I realized that inside the hadoolibs directory (inside oozie home), there are three sub-directories with

HashMap JVM Differences

Although Java slogan's is "Write once, run everywhere" , to emphasize the cross-platform benefit, in practice unfortunately this is not totally true. One known difference between Sun and other JVMs is the HashMap order output. When  executing the exact same program and iterating though  the same exact same HashMap input, a Sun JVM will produce a different output than another JVM. See as example the code below: import java.util.LinkedHashMap; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class HashMapTest {         static HashMap<String, String> result = new HashMap<String, String>();         static Iterator<Map.Entry<String, String>> entryIter;         static HashMap<String, String> thash = new HashMap<String, String>();         public static void main(String[] args) {                 for (int i = 0; i < 10; i++){                         thash.put(Integer.toString(10 - i), "ab