1. 介绍
Sqoop主要用于在HADOOP(Hive、hdfs、hbase)与传统的数据库(mysql、postgresql、db2、oracle…)间进行数据的传递。
但为了更方便的控制数据的导入,且sqoop是apache下的JAVA开源项目,所以可以直接使用java来操作sqoop。
2. 说明
需要引入sqoop1.4.3.jar和依赖的hadoop相关的jar包
3. 代码示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| public static void main(String[] args) { args = new String[] { "list-tables", "--connect", "jdbc:mysql://localhost/test", "--username", "root", "--password", "root" }; String[] expandedArgs = null; try { expandedArgs = OptionsFileUtil.expandArguments(args); } catch (Exception ex) { System.err.println(ex.getMessage()); System.err.println("Try 'sqoop help' for usage."); } String toolName = expandedArgs[0]; Configuration pluginConf = SqoopTool.loadPlugins(new Configuration()); com.cloudera.sqoop.tool.SqoopTool tool = (com.cloudera.sqoop.tool.SqoopTool) SqoopTool .getTool(toolName); if (null == tool) { System.err.println("No such sqoop tool: " + toolName + ". See 'sqoop help'."); } Sqoop sqoop = new Sqoop(tool, pluginConf); Sqoop.runSqoop(sqoop, Arrays.copyOfRange(expandedArgs, 1, expandedArgs.length)); }
|
4. 注意事项