LIVE_PROGRESS Query Option (Impala 2.3 or higher only)

When the LIVE_PROGRESS query option is set to TRUE, Impala displays an interactive progress bar showing roughly what percentage of processing has been completed for queries submitted through the impala-shell command. When the query finishes, the progress bar is erased from the impala-shell console output.

Starting in Impala 3.1, the summary output also includes the queuing status consisting of whether the query was queued and what was the latest queuing reason.

Type: Boolean

Default: FALSE (0)

Command-line equivalent:

You can enable this query option within impala-shell by starting the shell with the --live_progress command-line option. You can still turn this setting off and on again within the shell through the SET command.

Usage notes:

The output from this query option is printed to standard error. The output is only displayed in interactive mode, that is, not when the -q or -f options are used.

For a more detailed way of tracking the progress of an interactive query through all phases of processing, see LIVE_SUMMARY Query Option (Impala 2.3 or higher only).

Restrictions:

Because the percentage complete figure is calculated using the number of issued and completed "scan ranges", which occur while reading the table data, the progress bar might reach 100% before the query is entirely finished. For example, the query might do work to perform aggregations after all the table data has been read. If many of your queries fall into this category, consider using the LIVE_SUMMARY option instead for more granular progress reporting.

The LIVE_PROGRESS and LIVE_SUMMARY query options currently do not produce any output during COMPUTE STATS operations.

Because the LIVE_PROGRESS and LIVE_SUMMARY query options are available only within the impala-shell interpreter:

Added in: Impala 2.3.0

Examples:

[localhost:21000] > set live_progress=true;
LIVE_PROGRESS set to true
[localhost:21000] > select count(*) from customer;
+----------+
| count(*) |
+----------+
| 150000   |
+----------+
[localhost:21000] > select count(*) from customer t1 cross join customer t2;
[###################################                                   ] 50%
[######################################################################] 100%


To see how the LIVE_PROGRESS and LIVE_SUMMARY query options work in real time, see this animated demo.