2017年8月21日月曜日

Hive (CLI)をJDBでデバッグ

[root@node4 ~]# su - admin
[admin@node4 ~]$ hive --debug
WARNING: Use "yarn jar" to launch YARN applications.
Listening for transport dt_socket at address: 8000

別のターミナルから

[admin@node4 ~]$ . /etc/hadoop/conf/hadoop-env.sh
[admin@node4 ~]$ $JAVA_HOME/bin/jdb -connect com.sun.jdi.SocketAttach:hostname=localhost,port=8000
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
Initializing jdb ...
>
VM Started: No frames on the current call stack

main[1] catch org.apache.hadoop.hive.ql.parse.SemanticException
Deferring all org.apache.hadoop.hive.ql.parse.SemanticException.
It will be set after the class is loaded.
main[1] run    <<< ここで別のターミナルからエラーを発生するクエリーを実行
> Set deferred all org.apache.hadoop.hive.ql.parse.SemanticException

Exception occurred: org.apache.hadoop.hive.ql.parse.SemanticException (to be caught at: org.apache.hadoop.hive.ql.Driver.compile(), line=524 bci=1,065)"thread=main", org.apache.hadoop.hive.ql.optimizer.SimpleFetchOptimizer.transform(), line=116 bci=151

main[1] where
  [1] org.apache.hadoop.hive.ql.optimizer.SimpleFetchOptimizer.transform (SimpleFetchOptimizer.java:116)
  [2] org.apache.hadoop.hive.ql.optimizer.Optimizer.optimize (Optimizer.java:205)
  [3] org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal (SemanticAnalyzer.java:10,198)
  [4] org.apache.hadoop.hive.ql.parse.CalcitePlanner.analyzeInternal (CalcitePlanner.java:211)
  [5] org.apache.hadoop.hive.ql.parse.BaseSemanticAnalyzer.analyze (BaseSemanticAnalyzer.java:227)
  [6] org.apache.hadoop.hive.ql.Driver.compile (Driver.java:459)
  [7] org.apache.hadoop.hive.ql.Driver.compile (Driver.java:316)
  [8] org.apache.hadoop.hive.ql.Driver.compileInternal (Driver.java:1,189)
  [9] org.apache.hadoop.hive.ql.Driver.runInternal (Driver.java:1,237)
  [10] org.apache.hadoop.hive.ql.Driver.run (Driver.java:1,126)
  [11] org.apache.hadoop.hive.ql.Driver.run (Driver.java:1,116)
  [12] org.apache.hadoop.hive.cli.CliDriver.processLocalCmd (CliDriver.java:216)
  [13] org.apache.hadoop.hive.cli.CliDriver.processCmd (CliDriver.java:168)
  [14] org.apache.hadoop.hive.cli.CliDriver.processLine (CliDriver.java:379)
  [15] org.apache.hadoop.hive.cli.CliDriver.executeDriver (CliDriver.java:739)
  [16] org.apache.hadoop.hive.cli.CliDriver.run (CliDriver.java:684)
  [17] org.apache.hadoop.hive.cli.CliDriver.main (CliDriver.java:624)
  [18] sun.reflect.NativeMethodAccessorImpl.invoke0 (native method)
  [19] sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
  [20] sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
  [21] java.lang.reflect.Method.invoke (Method.java:498)
  [22] org.apache.hadoop.util.RunJar.run (RunJar.java:221)
  [23] org.apache.hadoop.util.RunJar.main (RunJar.java:136)
main[1] locals
Method arguments:
pctx = instance of org.apache.hadoop.hive.ql.parse.ParseContext(id=6092)
Local variables:
topOps = instance of java.util.LinkedHashMap(id=6093)
alias = "sample_07_sym"
topOp = instance of org.apache.hadoop.hive.ql.exec.TableScanOperator(id=6095)
e = instance of java.io.FileNotFoundException(id=6096)

0 件のコメント:

コメントを投稿