2017-09-04 4 views
0

ここでは、Javaを使用してインクリメンタルインポートを行っています。しかし、私はすでに存在する仕事をどのように使うのか分からない。javaを使用して既存のsqoopジョブを実行するにはどうしたらいいですか?

私は今、私が実行する必要があり、私はこのためのコードを書かれている

sqoop job --create moviesJob1 -- import --connect jdbc:mysql://localhost/mydb --username root -P --table movies --m 1 --target-dir /movies --incremental append --check-column movieId --last-val 0 



SqoopOptions options = new SqoopOptions(); 
      options.setJobName(tableDTO.getTableName()+"Job"); 
      options.setDriverClassName(driver); 
      options.setHadoopHome(HADOOP_HOME); 
      options.setConnectString(MYSQL_CONNECTION_STRING); 
      options.setUsername(USERNAME); 
      options.setPassword(PASSWORD); 
      options.setTableName(tableDTO.getTableName()); 
      options.setNumMappers(Integer.parseInt(tableDTO.getNoOfMappers())); 
      options.setTargetDir(HDFS_DIRECTORY_PATH+"/"+tableDTO.getTableName()); 
      options.setFieldsTerminatedBy('|'); 
      options.setAppendMode(true); 
      options.setIncrementalMode(IncrementalMode.AppendRows); 
      options.setIncrementalLastValue("0"); 

、 を意味する:

sqoop job --exec moviesJob1 

をこの実行するには:

options.getJobName(); // getting JobName but not finding method to run job 

を誰もが提案を与えることができますか? ありがとうございます。

答えて

0

このような何か試してみてください:

new ExportTool().run(options); 

か:

new com.cloudera.sqoop.tool.ImportTool().run(options); 
関連する問題