Hi All,
I made the data load work somehow but I don't think it's the right way ! Here
is what I tried (sorry for the long email)
1. Hadoop 2.5.1 + sqoop-1.4.5.bin__hadoop-2.0.4-alpha : This failed with
the following error. I did see same issue asked on stackoverflow but no fix.
This is most likely due to some jar files mismatch.
Note: /tmp/sqoop-sas/compile/1ee9265317c9d91a077060f857c3e726/TEMP_ADDRESS.java
uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
14/11/24 23:05:43 INFO orm.CompilationManager: Writing jar file:
/tmp/sqoop-sas/compile/1ee9265317c9d91a077060f857c3e726/TEMP_ADDRESS.jar
Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/hadoop/mapreduce/InputFormat
at java.lang.ClassLoader.defineClass1(Native Method)
2. Hadoop 2.5.1 + sqoop-1.4.5.bin__hadoop-1.0.0 : This also failed with
some Class version mismatch error. So I downloaded the Hadoop_1.2.1 also and
specified that as the HADOOP_MAPRED_PATH in the Sqoop configuration (to pick up
the hadoop_core.jar). This worked for both HDFS and Hive imports from Oracle :)
However there are 2 issues
2.1 : I don't want to maintain 2 versions of Hadoop
2.2 : The imported file is not actually going on the HDFS that I have setup,
instead going on the local file system. For example when I load a file in a
Hive table in "hive", it is visible on
'hdfs://finattr-comp-dev-01:9999/apps/sas/hive/warehouse/<table> whereas with
the Sqoop import the file is landing in /apps/sas/hive/warehouse/<table>.
Thanks
- Atul