You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by bl...@apache.org on 2016/01/22 10:37:37 UTC
tajo git commit: TAJO-2061: Add description for EXPLAIN statement.
Repository: tajo
Updated Branches:
refs/heads/master dfb308fde -> 3cf7f24bc
TAJO-2061: Add description for EXPLAIN statement.
Closes #947
Project: http://git-wip-us.apache.org/repos/asf/tajo/repo
Commit: http://git-wip-us.apache.org/repos/asf/tajo/commit/3cf7f24b
Tree: http://git-wip-us.apache.org/repos/asf/tajo/tree/3cf7f24b
Diff: http://git-wip-us.apache.org/repos/asf/tajo/diff/3cf7f24b
Branch: refs/heads/master
Commit: 3cf7f24bc1133d3c0df1ef6031ce075bdf97fb7f
Parents: dfb308f
Author: JaeHwa Jung <bl...@apache.org>
Authored: Fri Jan 22 18:36:09 2016 +0900
Committer: JaeHwa Jung <bl...@apache.org>
Committed: Fri Jan 22 18:36:09 2016 +0900
----------------------------------------------------------------------
CHANGES | 2 +
tajo-docs/src/main/sphinx/sql_language.rst | 3 +-
.../src/main/sphinx/sql_language/explain.rst | 93 ++++++++++++++++++++
3 files changed, 97 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tajo/blob/3cf7f24b/CHANGES
----------------------------------------------------------------------
diff --git a/CHANGES b/CHANGES
index c0801cc..6bc9635 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,8 @@ Release 0.12.0 - unreleased
IMPROVEMENT
+ TAJO-2061: Add description for EXPLAIN statement. (jaehwa)
+
TAJO-2060: Upgrade geoip-api-java library. (Byunghwa Yun via jinho)
TAJO-2048: QueryMaster and TajoWorker should support the exception
http://git-wip-us.apache.org/repos/asf/tajo/blob/3cf7f24b/tajo-docs/src/main/sphinx/sql_language.rst
----------------------------------------------------------------------
diff --git a/tajo-docs/src/main/sphinx/sql_language.rst b/tajo-docs/src/main/sphinx/sql_language.rst
index ed57e50..414a0e0 100644
--- a/tajo-docs/src/main/sphinx/sql_language.rst
+++ b/tajo-docs/src/main/sphinx/sql_language.rst
@@ -12,4 +12,5 @@ SQL Language
sql_language/queries
sql_language/joins
sql_language/sql_expression
- sql_language/predicates
\ No newline at end of file
+ sql_language/predicates
+ sql_language/explain
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/tajo/blob/3cf7f24b/tajo-docs/src/main/sphinx/sql_language/explain.rst
----------------------------------------------------------------------
diff --git a/tajo-docs/src/main/sphinx/sql_language/explain.rst b/tajo-docs/src/main/sphinx/sql_language/explain.rst
new file mode 100644
index 0000000..85943bd
--- /dev/null
+++ b/tajo-docs/src/main/sphinx/sql_language/explain.rst
@@ -0,0 +1,93 @@
+************************
+EXPLAIN
+************************
+
+*Synopsis*
+
+.. code-block:: sql
+
+ EXPLAIN [GLOBAL] statement
+
+
+*Description*
+
+Show the logical or global execution plan of a statement.
+
+
+*Examples*
+
+Logical plan:
+
+.. code-block:: sql
+
+ default> EXPLAIN SELECT l_orderkey, count(*) FROM lineitem GROUP BY l_orderkey;
+ explain
+ -------------------------------
+ GROUP_BY(1)(l_orderkey)
+ => exprs: (count())
+ => target list: default.lineitem.l_orderkey (INT8), ?count (INT8)
+ => out schema:{(2) default.lineitem.l_orderkey (INT8), ?count (INT8)}
+ => in schema:{(1) default.lineitem.l_orderkey (INT8)}
+ SCAN(0) on default.lineitem
+ => target list: default.lineitem.l_orderkey (INT8)
+ => out schema: {(1) default.lineitem.l_orderkey (INT8)}
+ => in schema: {(16) default.lineitem.l_orderkey (INT8), default.lineitem.l_partkey (INT8), default.lineitem.l_suppkey (INT8), default.lineitem.l_linenumber (INT8), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_discount (FLOAT8), default.lineitem.l_tax (FLOAT8), default.lineitem.l_returnflag (TEXT), default.lineitem.l_linestatus (TEXT), default.lineitem.l_shipdate (DATE), default.lineitem.l_commitdate (DATE), default.lineitem.l_receiptdate (DATE), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_comment (TEXT)}
+
+
+Global plan:
+
+.. code-block:: sql
+
+ default> EXPLAIN GLOBAL SELECT l_orderkey, count(*) FROM lineitem GROUP BY l_orderkey;
+ explain
+ -------------------------------
+ -------------------------------------------------------------------------------
+ Execution Block Graph (TERMINAL - eb_0000000000000_0000_000003)
+ -------------------------------------------------------------------------------
+ |-eb_0000000000000_0000_000003
+ |-eb_0000000000000_0000_000002
+ |-eb_0000000000000_0000_000001
+ -------------------------------------------------------------------------------
+ Order of Execution
+ -------------------------------------------------------------------------------
+ 1: eb_0000000000000_0000_000001
+ 2: eb_0000000000000_0000_000002
+ 3: eb_0000000000000_0000_000003
+ -------------------------------------------------------------------------------
+
+ =======================================================
+ Block Id: eb_0000000000000_0000_000001 [LEAF]
+ =======================================================
+
+ [Outgoing]
+ [q_0000000000000_0000] 1 => 2 (type=HASH_SHUFFLE, key=default.lineitem.l_orderkey (INT8), num=32)
+
+ GROUP_BY(5)(l_orderkey)
+ => exprs: (count())
+ => target list: default.lineitem.l_orderkey (INT8), ?count_1 (INT8)
+ => out schema:{(2) default.lineitem.l_orderkey (INT8), ?count_1 (INT8)}
+ => in schema:{(1) default.lineitem.l_orderkey (INT8)}
+ SCAN(0) on default.lineitem
+ => target list: default.lineitem.l_orderkey (INT8)
+ => out schema: {(1) default.lineitem.l_orderkey (INT8)}
+ => in schema: {(16) default.lineitem.l_orderkey (INT8), default.lineitem.l_partkey (INT8), default.lineitem.l_suppkey (INT8), default.lineitem.l_linenumber (INT8), default.lineitem.l_quantity (FLOAT8), default.lineitem.l_extendedprice (FLOAT8), default.lineitem.l_discount (FLOAT8), default.lineitem.l_tax (FLOAT8), default.lineitem.l_returnflag (TEXT), default.lineitem.l_linestatus (TEXT), default.lineitem.l_shipdate (DATE), default.lineitem.l_commitdate (DATE), default.lineitem.l_receiptdate (DATE), default.lineitem.l_shipinstruct (TEXT), default.lineitem.l_shipmode (TEXT), default.lineitem.l_comment (TEXT)}
+
+ =======================================================
+ Block Id: eb_0000000000000_0000_000002 [ROOT]
+ =======================================================
+
+ [Incoming]
+ [q_0000000000000_0000] 1 => 2 (type=HASH_SHUFFLE, key=default.lineitem.l_orderkey (INT8), num=32)
+
+ GROUP_BY(1)(l_orderkey)
+ => exprs: (count(?count_1 (INT8)))
+ => target list: default.lineitem.l_orderkey (INT8), ?count (INT8)
+ => out schema:{(2) default.lineitem.l_orderkey (INT8), ?count (INT8)}
+ => in schema:{(2) default.lineitem.l_orderkey (INT8), ?count_1 (INT8)}
+ SCAN(6) on eb_0000000000000_0000_000001
+ => out schema: {(2) default.lineitem.l_orderkey (INT8), ?count_1 (INT8)}
+ => in schema: {(2) default.lineitem.l_orderkey (INT8), ?count_1 (INT8)}
+
+ =======================================================
+ Block Id: eb_0000000000000_0000_000003 [TERMINAL]
+ =======================================================
\ No newline at end of file