The runtime (e.g. AWS EMR or a vanilla Hadoop cluster) already provides `hadoop-core` artifact in the CLASSPATH, so it's a bad idea to include a potentially conflicting version of `hadoop-core` in uberjar. Turns out there's `:provided` profile in Leiningen just for this purpose.
Please move `hadoop-core` to `:provided` like so:

    :provided {:dependencies [[org.apache.hadoop/hadoop-core "1.0.3"]]}