微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java代码执行sqoop抽取动作

执行从MysqL数据库导出数据到HDFS上。

 

执行前需准备:

在eclipse中写的代码,所以,又新加了sqoop-1.4.6-cdh5.5.2.jar放入原有的hadoop项目中,否则会有编译错误

 

同时,在集群上,将此包加入HADOOP_HOME/share/hadoop/yarn下,否则会报缺少jar包错误

错误显示

[hadoop@fa01 ~]$ hadoop jar SqoopTest1.jar

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/sqoop/util/OptionsFileUtil

 

代码

import org.apache.hadoop.conf.Configuration;

import org.apache.sqoop.Sqoop;

import org.apache.sqoop.tool.SqoopTool;

import org.apache.sqoop.util.OptionsFileUtil;

 

public class SqoopTest1 {

private static int importDataFromMysqL() throws Exception {

String[] args = new String[] {

//参数可以继续添加

"--connect", "jdbc:MysqL://192.20.1.54:3306/tbname_test",

"--driver", "com.MysqL.jdbc.Driver",

"--username", "username",

"--password", "123456",

"--table", "abtest_data",

"-m", "1",

"--target-dir", "/user/hadoop/java_sqoop_test1"

};

String[] expandArguments = OptionsFileUtil.expandArguments(args);

SqoopTool tool = SqoopTool.getTool("import");

Configuration conf = new Configuration();

conf.set("fs.default.name", "hdfs://192.168.20.32:9000");

Configuration loadplugins = SqoopTool.loadplugins(conf);

Sqoop sqoop = new Sqoop((com.cloudera.sqoop.tool.SqoopTool) tool, loadplugins);

return Sqoop.runSqoop(sqoop, expandArguments);

}

public static void main(String[] args) throws Exception {

importDataFromMysqL();

}

}

 

参考:

http://blog.csdn.net/shantaodaoshik852/article/details/77266831

http://blog.csdn.net/guzicheng/article/details/41519947

 

 转自:https://blog.51cto.com/feature09/1966296

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐