You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues-all@impala.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2020/10/21 01:58:00 UTC

[jira] [Commented] (IMPALA-10178) Run-time profile shall report skews

    [ https://issues.apache.org/jira/browse/IMPALA-10178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218040#comment-17218040 ] 

ASF subversion and git services commented on IMPALA-10178:
----------------------------------------------------------

Commit 65a0325572a5a66e4ed017d291145f567f02419c in impala's branch refs/heads/master from Qifan Chen
[ https://gitbox.apache.org/repos/asf?p=impala.git;h=65a0325 ]

IMPALA-10178 Run-time profile shall report skews

This fix addresses the current limitation in runtime profile that
skews existing in certain operators such as the rows read counter
(RowsRead) in the scan operators are not reported. A skew condition
exists when the number of rows processed at each operator instance
is not about the same and can be detected through coefficient of variation
(CoV). A high CoV (say > 1.0) usually implies the existence of
skew.

With the fix, such skew is detected for the following counters
  1. RowsRead in HDFS_SCAN_NODE and KUDU_SCAN_NODE
  2. ProbeRows and BuildRows in HASH_JOIN_NODE
  3. RowsReturned in GroupingAggregator, EXCHANGE and SORT_NODE

and reported as follows:
  1. In execution profile, a new skew summary that lists the names
     of the operators with skews;
  2. In the averaged profile for the corresponding operator, the list
     of values of the counter across all fragment instances in the
     backend processes;
  3. Skew detection formula: CoV > limit and mean > 5,000
  4. A new query option 'report_skew_limit'
     < 0: disable skew reporting
     >= 0: enable skew reporting and supply the CoV limit

Examples of skews reported for a hash join and an hdfs scan.

In execution profile:

  ... ...
  skew(s) found at: HASH_JOIN_NODE (id=4), HDFS_SCAN_NODE (id=0)

  Per Node Peak Memory Usage: ...
  ... ...

In averaged profiles:

  HDFS_SCAN_NODE (id=2): ...
          Skew details: RowsRead ([2004992,1724693,2001351],
                                  CoV=0.07, mean=1910345)

Testing:
1. Added test_skew_reporting_in_runtime_profile in
   test_observability.py to verify that the skews are reported.
2. Ran Core tests successfully.

Change-Id: I91041f2856eef8293ea78f1721f97469062589a1
Reviewed-on: http://gerrit.cloudera.org:8080/16474
Reviewed-by: Impala Public Jenkins <im...@cloudera.com>
Tested-by: Impala Public Jenkins <im...@cloudera.com>


> Run-time profile shall report skews
> -----------------------------------
>
>                 Key: IMPALA-10178
>                 URL: https://issues.apache.org/jira/browse/IMPALA-10178
>             Project: IMPALA
>          Issue Type: Improvement
>            Reporter: Qifan Chen
>            Assignee: Qifan Chen
>            Priority: Minor
>
> Currently per fragment,  in addition to fragment instance profile, only an average profile is provided.  One has to go over fragment instance profiles to figure out whether there exist skews. By skews we mean certain operator instances process much more rows than others for the same fragment. 
> It will be useful if skew information can be provided in the run-time profile. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-all-unsubscribe@impala.apache.org
For additional commands, e-mail: issues-all-help@impala.apache.org