You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@drill.apache.org by vkorukanti <gi...@git.apache.org> on 2015/10/02 01:32:51 UTC

[GitHub] drill pull request: DRILL-3884: Fix lower parallelization issues w...

GitHub user vkorukanti opened a pull request:

    https://github.com/apache/drill/pull/185

    DRILL-3884: Fix lower parallelization issues with Hive's native scan.

    @amansinha100 Could you please review the patch?

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/vkorukanti/drill DRILL-3884

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/185.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #185
    
----
commit cdd71f1f2aa224f65147e084d75eacbc4ff7285b
Author: vkorukanti <ve...@gmail.com>
Date:   2015-10-01T22:15:12Z

    DRILL-3884: Fix lower parallelization issues with Hive's native scan.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] drill pull request: DRILL-3884: Fix lower parallelization issues w...

Posted by amansinha100 <gi...@git.apache.org>.
Github user amansinha100 commented on the pull request:

    https://github.com/apache/drill/pull/185#issuecomment-144884113
  
    +1 LGTM. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] drill pull request: DRILL-3884: Fix lower parallelization issues w...

Posted by vkorukanti <gi...@git.apache.org>.
Github user vkorukanti commented on a diff in the pull request:

    https://github.com/apache/drill/pull/185#discussion_r40982402
  
    --- Diff: contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java ---
    @@ -319,16 +319,12 @@ public ScanStats getScanStats() {
             estRowCount = data/1024;
           }
     
    -      // Hive's native reader is neither memory efficient nor fast. If the rowcount is below
    -      // HIVE_SERDE_SCAN_OVERHEAD_FACTOR, make sure it is at least HIVE_SERDE_SCAN_OVERHEAD_FACTOR to enable the planner
    -      // to choose HiveDrillNativeParquetScan. Due to the project on top of HiveDrillNativeParquetScan, we end up
    -      // choosing the HiveScan instead of HiveDrillNativeParquetScan if the cost is too low.
    -      if (estRowCount <= HIVE_SERDE_SCAN_OVERHEAD_FACTOR) {
    -        estRowCount = HIVE_SERDE_SCAN_OVERHEAD_FACTOR;
    -      }
    +      // Hive's native reader is neither memory efficient nor fast. Increase the CPU cost
    +      // by a factor to let the planner choose HiveDrillNativeScan over HiveScan with SerDes.
    +      float cpuCost = 1 * HIVE_SERDE_SCAN_OVERHEAD_FACTOR;
    --- End diff --
    
    Fixed in updated patch.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] drill pull request: DRILL-3884: Fix lower parallelization issues w...

Posted by amansinha100 <gi...@git.apache.org>.
Github user amansinha100 commented on a diff in the pull request:

    https://github.com/apache/drill/pull/185#discussion_r40981727
  
    --- Diff: contrib/storage-hive/core/src/main/java/org/apache/drill/exec/store/hive/HiveScan.java ---
    @@ -319,16 +319,12 @@ public ScanStats getScanStats() {
             estRowCount = data/1024;
           }
     
    -      // Hive's native reader is neither memory efficient nor fast. If the rowcount is below
    -      // HIVE_SERDE_SCAN_OVERHEAD_FACTOR, make sure it is at least HIVE_SERDE_SCAN_OVERHEAD_FACTOR to enable the planner
    -      // to choose HiveDrillNativeParquetScan. Due to the project on top of HiveDrillNativeParquetScan, we end up
    -      // choosing the HiveScan instead of HiveDrillNativeParquetScan if the cost is too low.
    -      if (estRowCount <= HIVE_SERDE_SCAN_OVERHEAD_FACTOR) {
    -        estRowCount = HIVE_SERDE_SCAN_OVERHEAD_FACTOR;
    -      }
    +      // Hive's native reader is neither memory efficient nor fast. Increase the CPU cost
    +      // by a factor to let the planner choose HiveDrillNativeScan over HiveScan with SerDes.
    +      float cpuCost = 1 * HIVE_SERDE_SCAN_OVERHEAD_FACTOR;
    --- End diff --
    
    I am thinking this cost should include the number of columns as well...suppose there are lots of columns(e.g 500), we want both types of plans to be equally penalized.  


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---

[GitHub] drill pull request: DRILL-3884: Fix lower parallelization issues w...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/drill/pull/185


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastructure@apache.org or file a JIRA ticket
with INFRA.
---