Markus Kemper created SQOOP-3129:
------------------------------------

             Summary: Sqoop Metastore job command does not honor -D generic 
arguments
                 Key: SQOOP-3129
                 URL: https://issues.apache.org/jira/browse/SQOOP-3129
             Project: Sqoop
          Issue Type: Bug
            Reporter: Markus Kemper


Not 100% sure that this is a defect but, it seems like one to me.

The Sqoop job help suggests that generic args are supported however I am not 
able to get them to work, see test case below

*Sqoop Help*
{noformat}
$ sqoop job -help

Output:
17/01/17 08:13:12 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.8.3
usage: sqoop job [GENERIC-ARGS] [JOB-ARGS] [-- [<tool-name>] [TOOL-ARGS]]
{noformat}

*Test Case*
{noformat}
#################
# STEP 01 - Setup Table and Data
#################

export MYCONN=jdbc:mysql://mysql.cloudera.com:3306/db_coe
export MYUSER=sqoop
export MYPSWD=cloudera

sqoop eval --connect $MYCONN --username $MYUSER --password $MYPSWD --query 
"drop table t1"
sqoop eval --connect $MYCONN --username $MYUSER --password $MYPSWD --query 
"create table t1 (c1 int, c2 varchar(10))"
sqoop eval --connect $MYCONN --username $MYUSER --password $MYPSWD --query 
"insert into t1 values (1, 'some data')"
sqoop eval --connect $MYCONN --username $MYUSER --password $MYPSWD --query 
"select * from t1"

----------------------------
| c1          | c2         | 
----------------------------
| 1           | some data  | 
----------------------------

#################
# STEP 02 - Import Data Baseline (default)
#################

sqoop import --connect $MYCONN --username $MYUSER --password $MYPSWD --table t1 
--target-dir /user/root/t1 --delete-target-dir --num-mappers 1
yarn application -status application_1481911879790_0093 | head -6

17/01/02 07:03:46 INFO client.RMProxy: Connecting to ResourceManager at 
host1.cloudera.com/NN.NN.NNN.NNN:8032
Application Report : 
        Application-Id : application_1481911879790_0093
        Application-Name : t1.jar
        Application-Type : MAPREDUCE
        User : root
        Queue : root.users.root

#################
# STEP 03 - Import Data (-Dmapreduce.job.queuename=MY_SQOOP_QUEUE 
-Dmapreduce.job.name=MY_SQOOP_JOB)
#################

sqoop import -Dmapreduce.job.queuename=MY_SQOOP_QUEUE 
-Dmapreduce.job.name=MY_SQOOP_JOB --connect $MYCONN --username $MYUSER 
--password $MYPSWD --table t1 --target-dir /user/root/t1 --delete-target-dir 
--num-mappers 1
yarn application -status application_1481911879790_0094 | head -6

17/01/02 07:07:00 INFO client.RMProxy: Connecting to ResourceManager at 
host1.cloudera.com/NN.NN.NNN.NNN:8032
Application Report : 
        Application-Id : application_1481911879790_0094
        Application-Name : MY_SQOOP_JOB
        Application-Type : MAPREDUCE
        User : root
        Queue : root.MY_SQOOP_QUEUE

#################
# STEP 04 - Import Data using Sqoop1 Metastore Job (default)
#################

sqoop job --create my_sqoop_meta_job -- import --connect $MYCONN --username 
$MYUSER --password $MYPSWD --table t1 --target-dir /user/root/t1 
--delete-target-dir --num-mappers 1
sqoop job --list
Available jobs:
  my_sqoop_meta_job

sqoop job --exec my_sqoop_meta_job
yarn application -status application_1481911879790_0095 | head -6
17/01/02 07:16:13 INFO client.RMProxy: Connecting to ResourceManager at 
host1.cloudera.com/NN.NN.NNN.NNN:8032
Application Report : 
        Application-Id : application_1481911879790_0095
        Application-Name : t1.jar
        Application-Type : MAPREDUCE
        User : root
        Queue : root.users.root

#################
# STEP 06 -  Review Sqoop Job Help
#################

$ sqoop job -help

Output:
17/01/17 08:13:12 INFO sqoop.Sqoop: Running Sqoop version: 1.4.6-cdh5.8.3
usage: sqoop job [GENERIC-ARGS] [JOB-ARGS] [-- [<tool-name>] [TOOL-ARGS]]

Job management arguments:
   --create <job-id>            Create a new saved job
   --delete <job-id>            Delete a saved job
   --exec <job-id>              Run a saved job
   --help                       Print usage instructions
   --list                       List saved jobs
   --meta-connect <jdbc-uri>    Specify JDBC connect string for the
                                metastore
   --show <job-id>              Show the parameters for a saved job
   --verbose                    Print more information while working

Generic Hadoop command-line arguments:
(must preceed any tool-specific arguments)
Generic options supported are
-conf <configuration file>     specify an application configuration file
-D <property=value>            use value for given property


#################
# STEP 07 - Import Data using Sqoop1 Metastore Job 
(-Dmapreduce.job.queuename=MY_SQOOP_QUEUE -Dmapreduce.job.name=MY_SQOOP_JOB)
#################
        
sqoop job -Dmapreduce.job.queuename=MY_SQOOP_META_QUEUE 
-Dmapreduce.job.name=MY_SQOOP_META_JOB --exec my_sqoop_meta_job         
yarn application -status application_1481911879790_0096 | head -6

17/01/02 07:19:39 INFO client.RMProxy: Connecting to ResourceManager at 
host1.cloudera.com/NN.NN.NNN.NNN:8032
Application Report : 
        Application-Id : application_1481911879790_0096
        Application-Name : t1.jar
        Application-Type : MAPREDUCE
        User : root
        Queue : root.users.root
{noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to