Java代码执行sqoop抽取动作
2021/6/4 14:23:10
本文主要是介绍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
这篇关于Java代码执行sqoop抽取动作的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-31全网首发第二弹!软考2024年5月《软件设计师》真题+解析+答案!(11-20题)
- 2024-05-31全网首发!软考2024年5月《软件设计师》真题+解析+答案!(21-30题)
- 2024-05-30【Java】百万数据excel导出功能如何实现
- 2024-05-30我们小公司,哪像华为一样,用得上IPD(集成产品开发)?
- 2024-05-30java excel上传--poi
- 2024-05-30安装笔记本应用商店的pycharm,再安排pandas等模块,说是没有打包工具?
- 2024-05-29java11新特性
- 2024-05-29哪些无用敏捷指标正在破坏敏捷转型?
- 2024-05-29鸿蒙原生应用再新丁!新华社 入局鸿蒙
- 2024-05-29设计模式 之 迭代器模式(Iterator)