This is 0.20.0
I have an eclipse run configuration passing these as arguments
-D hive2rdbms.jdbc.driver="com.mysql.jdbc.Driver" -D
hive2rdbms.connection.url="jdbc:mysql://localhost:3306/test" -D
hive2rdbms.data.query="SELECT id,name FROM name WHERE $CONDITIONS" -D
hive2rdbms.bounding.query="SELECT min(id),max(id) FROM name" -D
hive2rdbms.output.strategy=HDFS -D hive2rdbms.ouput.hdfs.path="/tmp/a"

My code does this:
        public int run(String[] args) throws Exception {
                
                conf = getConf();
                GenericOptionsParser parser = new 
GenericOptionsParser(conf,args);
                
                for (String arg: parser.getRemainingArgs()){
                  System.out.println(arg);
                }

hive2rdbms.connection.url=jdbc:mysql://localhost:3306/test
-D
hive2rdbms.data.query=SELECT id,name FROM name WHERE $CONDITIONS
-D
hive2rdbms.bounding.query=SELECT min(id),max(id) FROM name
-D
hive2rdbms.output.strategy=HDFS
-D
hive2rdbms.ouput.hdfs.path=/tmp/a
10/09/02 13:04:04 INFO jvm.JvmMetrics: Initializing JVM Metrics with
processName=JobTracker, sessionId=
Exception in thread "main" java.io.IOException:
hive2rdbms.connection.url not specified
        at com.media6.hive2rdbms.job.Rdbms2Hive.checkArgs(Rdbms2Hive.java:70)
        at com.media6.hive2rdbms.job.Rdbms2Hive.run(Rdbms2Hive.java:46)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at com.media6.hive2rdbms.job.Rdbms2Hive.main(Rdbms2Hive.java:145)

So what gives does GenericOptionsParser only take hadoop arguments
like mapred.map.tasks? If so how come it sucks up my first -D argument
and considers the other ones "Remaining Arguments".

Any ideas?

Reply via email to