您的位置:首页 > 编程语言 > Java开发

Hadoop数据传输工具sqoop(四)Java远程调用Sqoop进行数据传输

2014-11-26 19:19 806 查看
1、Maven配置

<dependency>
<groupId>org.apache.sqoop</groupId>
<artifactId>sqoop</artifactId>
<version>1.4.5</version>
</dependency>


2、Java代码

@Service
public class SqoopTestServiceImpl implements SqoopTestService
{
//测试代码
public static void main(String[] args)
{
try {
new WordCountServiceImpl().importDataFromOracle();
} catch (Exception e){
e.printStackTrace();
}
}

@Override
public int importDataFromOracle() {
String[] args = new String[]{
"--connect", "jdbc:oracle:thin:@192.168.10.12:1521:ftmsdev",
"--username", "ftms",
"--password", "ftms",
"--table", "SYSTEM_USER",
"--columns", "LOGIN_NAME,PASSWORD",
"--split-by", "USER_ID",
"--target-dir", "ftms/tables/system_user"
};

String[] expandedArgs = null;
try {
expandedArgs = OptionsFileUtil.expandArguments(args);
} catch (Exception e){
System.err.println(ex.getMessage());
System.err.println("Try 'sqoop help' for usage.");
}

com.cloudera.sqoop.tool.SqoopTool tool = (com.cloudera.sqoop.tool.SqoopTool) SqoopTool.getTool("import");
//com.cloudera.sqoop.tool.SqoopTool tool = new ImportTool();

Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://192.168.242.128:9000");//设置hadoop服务地址
Configuration pluginConf = SqoolTool.loadPlugins(conf);

Sqoop sqoop = new Sqoop(tool, pluginConf);
return Sqoop.runSqoop(sqoop, expandedArgs);
}

}


3、查看导入结果

$ hadoop dfs -ls ftms/tables
…… /user/guzicheng/ftms/tables/system_user


参考:

http://iyanlei.com/java_sqoop.html

http://blog.csdn.net/wuzhongju/article/details/8938159

《Sqoop Developer’s Guide v1.4.5》

《Sqoop User Guide (v1.4.1-incubating)》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: