2014-07-02 382 views
4

JobTracker和TaskTracker正在運行,而且簡單的查詢正在運行! 它的metastore是mysql並與hbase-0.94.16集成。 我的表是外部HIVE JOIN不起作用

我的連接查詢:

SELECT * FROM t1 JOIN t2 ON (t1.key = t2.key); 

SELECT * FROM t1 x JOIN t2 y ON (x.key = y.key) 

SELECT t1.* FROM t1 JOIN t2 ON (t1.key = t2.key); 

他們的非不工作,所有的人都返回此異常:

org.apache.hadoop.hive.ql.parse.SemanticException: Big Table Alias is null 
    at org.apache.hadoop.hive.ql.optimizer.MapJoinProcessor.genMapJoinLocalWork(MapJoinProcessor.java:219) 
    at org.apache.hadoop.hive.ql.optimizer.MapJoinProcessor.genMapJoinOpAndLocalWork(MapJoinProcessor.java:244) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver$CommonJoinTaskDispatcher.convertTaskToMapJoinTask(CommonJoinResolver.java:303) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver$CommonJoinTaskDispatcher.processCurrentTask(CommonJoinResolver.java:552) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver$CommonJoinTaskDispatcher.dispatch(CommonJoinResolver.java:743) 
    at org.apache.hadoop.hive.ql.lib.TaskGraphWalker.dispatch(TaskGraphWalker.java:111) 
    at org.apache.hadoop.hive.ql.lib.TaskGraphWalker.walk(TaskGraphWalker.java:194) 
    at org.apache.hadoop.hive.ql.lib.TaskGraphWalker.startWalking(TaskGraphWalker.java:139) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver.resolve(CommonJoinResolver.java:112) 
    at org.apache.hadoop.hive.ql.optimizer.physical.PhysicalOptimizer.optimize(PhysicalOptimizer.java:79) 
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genMapRedTasks(SemanticAnalyzer.java:8399) 
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:8741) 
    at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:278) 
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:433) 
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:337) 
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:902) 
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259) 
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216) 
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413) 
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:756) 
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at 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:160) 
org.apache.hadoop.hive.ql.parse.SemanticException: Generate New MapJoin Opertor Exeception Big Table Alias is null 
    at org.apache.hadoop.hive.ql.optimizer.MapJoinProcessor.genMapJoinOpAndLocalWork(MapJoinProcessor.java:254) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver$CommonJoinTaskDispatcher.convertTaskToMapJoinTask(CommonJoinResolver.java:303) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver$CommonJoinTaskDispatcher.processCurrentTask(CommonJoinResolver.java:552) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver$CommonJoinTaskDispatcher.dispatch(CommonJoinResolver.java:743) 
    at org.apache.hadoop.hive.ql.lib.TaskGraphWalker.dispatch(TaskGraphWalker.java:111) 
    at org.apache.hadoop.hive.ql.lib.TaskGraphWalker.walk(TaskGraphWalker.java:194) 
    at org.apache.hadoop.hive.ql.lib.TaskGraphWalker.startWalking(TaskGraphWalker.java:139) 
    at org.apache.hadoop.hive.ql.optimizer.physical.CommonJoinResolver.resolve(CommonJoinResolver.java:112) 
    at org.apache.hadoop.hive.ql.optimizer.physical.PhysicalOptimizer.optimize(PhysicalOptimizer.java:79) 
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.genMapRedTasks(SemanticAnalyzer.java:8399) 
    at org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal(SemanticAnalyzer.java:8741) 
    at org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze(BaseSemanticAnalyzer.java:278) 
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:433) 
    at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:337) 
    at org.apache.hadoop.hive.ql.Driver.run(Driver.java:902) 
    at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:259) 
    at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:216) 
    at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:413) 
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:756) 
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:614) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at 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:160) 
FAILED: SemanticException Generate Map Join Task Error: Generate New MapJoin Opertor Exeception Big Table Alias is null 
+0

你可以嘗試的時候都沒有空? – Ducaz035

+1

當然可以!他們都有數據。 那麼,你的想法? – Mark

+0

語法是正確的,我沒有想法。 – Ducaz035

回答

3

禁用自動地圖加入

Set hive.auto.convert.join=false