windows下使用eclipse操作sqoop
- 首先
把sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz解压到windows下(找一个自己想放的存储盘下)并配置用户环境变量,我把解压后的文件夹重命名成了sqoop(可以不用重命名),所以我的环境变量如下:
检查是否安装成功
在windows下执行
sqoop version
说明配置成功
- 然后
在pom.xml中添加如下配置
<dependency>
<groupId>org.apache.sqoop</groupId>
<artifactId>sqoop</artifactId>
<version>1.4.6</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.36</version>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>2.6.0</version>
</dependency>
其中的version根据所用集群使用的版本进行配置,org.apache.sqoop需要手动添加到repository里面。
把第一个图中的sqoop-1.4.6.jar添加到第二个图的位置
- 最后
进行验证
package cn.zzti.sqoop;
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 MySqoop {
@SuppressWarnings("unused")
private static int importDataFromMysql() throws Exception {
String[] agrs = new String[] {
"--connect","jdbc:mysql://ip地址:3306/",
"--username","root",
"--password","*******"
};
String[] expandArguments = OptionsFileUtil.expandArguments(agrs);
SqoopTool tool = SqoopTool.getTool("list-databases");
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://ip地址: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();
}
}
运行后出现如下图所示说明成功了:
- Missing artifact jdk.tools:jdk.tools:jar:1.6问题解决
在pom.xml中添加如下配置:
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.8</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
问题解决。