我的课看起来像这样
public class generateAll extends Configured implements Tool
{
public static void main(String[] args) throws Exception
{
ToolRunner.run(new generateAll(), args);
}
.
.
.
我想要的是,使用 hadoop jar 命令执行程序,因为我在程序中使用 getConf() 语句。
不涉及映射器减速器。
hadoop libs 中已经有一个 hsqldb 1.8 我的程序正在使用 hsqlsb 2.2.9(作为 maven 依赖项)
jobConf 中有一个方法可以用用户类路径覆盖 hadoop 类路径,但是由于我的程序不涉及 map/reduce ,如何覆盖 hadoop 类路径?
该程序作为测试文件运行时运行良好。hadoop 版本 - cdh3u3
使用 hadoop jar 命令时抛出的错误是:
线程“主”java.sql.SQLException 中的异常:意外的令牌 AS,需要(在 org.hsqldb.jdbc.Util.sqlException(未知来源)的 org.hsqldb.jdbc.jdbcStatement.fetchResult 的语句 [create table click as] 中(未知来源)在 org.hsqldb.jdbc.jdbcStatement.execute(未知来源)在 com.inmobi.qa.SQLUtil.SQLScriptExecuter.executeScript(SQLScriptExecuter.java:62) 在 com.inmobi.qa.logboxtools.generateAll.test_table_creation( generateAll.java:186) 在 com.inmobi.qa.logboxtools.generateAll.run(generateAll.java:104) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) 在 org.apache.hadoop .util.ToolRunner.run(ToolRunner.java:84) 在 com.inmobi.qa.logboxtools.generateAll.main(generateAll.java:55) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect。NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.hadoop.util .RunJar.main(RunJar.java:208)