You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@phoenix.apache.org by Amit Shah <am...@gmail.com> on 2016/04/11 12:09:47 UTC

Understanding Phoenix Query Plans

Hi,

I am using hbase version 1.0 and phoenix version 4.6. For different queries
that we are benchmarking, I am trying to understand the query plan

1. If we execute a where clause with group by query on primary key columns
of the table, the plan looks like
+------------------------------------------+
|                   PLAN                   |
+------------------------------------------+
| CLIENT 1-CHUNK PARALLEL 1-WAY POINT LOOKUP ON 1 KEY OVER TRANSACTIONS |
+------------------------------------------+

What does "1-way point lookup on 1 key" mean?

2. When executing a where clause query with group by on non primary key
columns, the plan looks like

+------------------------------------------+
|                   PLAN                   |
+------------------------------------------+
| CLIENT 48-CHUNK PARALLEL 48-WAY FULL SCAN OVER TRANSACTIONS |
|     SERVER FILTER BY CH_TYPE = 'CHANNEL_TYPE_32' |
|     SERVER AGGREGATE INTO DISTINCT ROWS BY [T_COUNTRY] |
| CLIENT MERGE SORT                        |
+------------------------------------------+

A full table scan is being performed.
Does "CLIENT" and "SERVER" refer to the operations performed on the client
(which is sqlline) and the server (hbase region server) ?
Does "48-WAY" indicate that the query is split across region servers and
executed in multiple (in this case 48) threads? If so, what config controls
this concurrency?


Thanks,
Amit.