2017-09-27 4 views
-1

私たちはmysqlからHDFSへのデータをsqoopしようとしています。コードを実行すると、データはローカルファイルシステムに格納されます。データはHDFSに保存されます。誰でも次のコードを提案できますか?SqoopからJAVA API

SqoopOptions options = new SqoopOptions(); 
    options.setConnectString("jdbc:mysql:hostname/db_name"); 
    options.setUsername("user"); 
    options.setPassword("pass"); 
    options.setTableName("table"); 
    options.setDirectMode(true); 
    options.setNumMappers(4); 
    options.setDriverClassName("com.mysql.jdbc.Driver"); 
    options.setSqlQuery("select * from table"); 
    options.setWhereClause("value > 15.0"); 
    options.setTargetDir("output"); 
    options.doHiveImport(); 
    System.out.println(); 
    int ret=new ImportTool().run(options); 
    System.out.println(ret); 
+0

コードをどのように実行していますか? – philantrovert

答えて

0

私はHDFSで同じプログラムを実行し、出力を得た:)

0

ここでの問題は、あなたが予選HDFSパスを指定していないoptions.setTargetDir("output"); です。有効なHDFSパスを使用して「出力」を変更した場合、どこからでもコードを実行でき、適切な結果が得られるはずです。

+0

正常に動作します。ありがとうございました –

関連する問題