我是HADOOP hdfs和Sqoop的新手。 我在一台具有单个节点的机器上安装了hadoop hdfs。我能够分别将文件放入/从hdfs获取。
要求[不想在客户端计算机上安装hadoop和sqoop]: 我想使用WebHDFS从不同的机器访问hdfs,而无需在客户机上安装hadoop,而且该部分工作正常。
要访问HDFF,我使用的是webhdfs java客户端jar。 现在我想用远程hdfs执行sqoop的export / import命令。
案例:导出到未安装HADOOP和Sqoop的本地文件系统,我们只使用HADDOP和Sqoop客户端jar。
public int importToHdfs(String tablename, String stmpPath){
int resultcode=-1;
try {
String s = File.separator;
String outdir = stmpPath.substring(0,stmpPath.lastIndexOf(s));
String[] str = {"import"
, "--connect", jdbcURL
,"--table",tablename
, "--username", sUserName, "--password", sPassword
, "-m", "1"
,"--target-dir","/tmp/user/hduser"
,"--outdir",outdir
};
Configuration conf = new Configuration();
resultcode = Sqoop.runTool(str,conf);
}catch(Exception ex){
System.out.print(ex.toString());
}
return resultcode;
}