通过javaapi的sqoop

lstz6jyr  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(321)

我们正在尝试将数据从mysql打包到hdfs。当我们运行代码时,数据存储在本地文件系统中。我们希望数据是hdfs格式的。有人能给我们提供以下代码吗?

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);
2vuwiymt

2vuwiymt1#

这里的问题是 options.setTargetDir("output"); 您没有指定合格的hdfs路径。如果您使用有效的hdfs路径更改“output”,那么您应该能够从任何地方运行代码,并且仍然得到正确的结果。

ffx8fchx

ffx8fchx2#

我在hdfs中运行了相同的程序并得到了输出:)

相关问题