You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2016/12/07 21:17:59 UTC
[jira] [Commented] (DRILL-4347) Planning time for query64 from
TPCDS test suite has increased 10 times compared to 1.4 release
[ https://issues.apache.org/jira/browse/DRILL-4347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15729938#comment-15729938 ]
ASF GitHub Bot commented on DRILL-4347:
---------------------------------------
Github user jinfengni commented on the issue:
https://github.com/apache/drill/pull/671
@jacques-n , CachingRelMetadataProvider provides caching capability per meta-method / rel node [1]. Since Drill logical rel (DrillJoinRel) and Drill physical rel (JoinPrel) are different rels, CachingRelMetadataProvider probably would not help avoiding the first meta data call for the physical rel nodes, even the meta data for logical rels are in the cache.
@julianhyde , I probably once tried to cherry-pick CALCITE-604 to Drill's calcite fork, and I aborted that effort after seeing many merging conflicts (If I remember correctly). Since there has been ongoing effort to rebase Drill onto latest Calcite, it might make sense to see if the rebase work could be done shortly. At that time, Drill will benefit from CALCITE-604.
1. https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/rel/metadata/CachingRelMetadataProvider.java#L113-L120
> Planning time for query64 from TPCDS test suite has increased 10 times compared to 1.4 release
> ----------------------------------------------------------------------------------------------
>
> Key: DRILL-4347
> URL: https://issues.apache.org/jira/browse/DRILL-4347
> Project: Apache Drill
> Issue Type: Bug
> Components: Query Planning & Optimization
> Affects Versions: 1.5.0
> Reporter: Victoria Markman
> Assignee: Aman Sinha
> Fix For: Future
>
> Attachments: 294e9fb9-cdda-a89f-d1a7-b852878926a1.sys.drill_1.4.0, 294ea418-9fb8-3082-1725-74e3cfe38fe9.sys.drill_1.5.0, drill4347_jstack.txt
>
>
> mapr-drill-1.5.0.201602012001-1.noarch.rpm
> {code}
> 0: jdbc:drill:schema=dfs> WITH cs_ui
> . . . . . . . . . . . . > AS (SELECT cs_item_sk,
> . . . . . . . . . . . . > Sum(cs_ext_list_price) AS sale,
> . . . . . . . . . . . . > Sum(cr_refunded_cash + cr_reversed_charge
> . . . . . . . . . . . . > + cr_store_credit) AS refund
> . . . . . . . . . . . . > FROM catalog_sales,
> . . . . . . . . . . . . > catalog_returns
> . . . . . . . . . . . . > WHERE cs_item_sk = cr_item_sk
> . . . . . . . . . . . . > AND cs_order_number = cr_order_number
> . . . . . . . . . . . . > GROUP BY cs_item_sk
> . . . . . . . . . . . . > HAVING Sum(cs_ext_list_price) > 2 * Sum(
> . . . . . . . . . . . . > cr_refunded_cash + cr_reversed_charge
> . . . . . . . . . . . . > + cr_store_credit)),
> . . . . . . . . . . . . > cross_sales
> . . . . . . . . . . . . > AS (SELECT i_product_name product_name,
> . . . . . . . . . . . . > i_item_sk item_sk,
> . . . . . . . . . . . . > s_store_name store_name,
> . . . . . . . . . . . . > s_zip store_zip,
> . . . . . . . . . . . . > ad1.ca_street_number b_street_number,
> . . . . . . . . . . . . > ad1.ca_street_name b_streen_name,
> . . . . . . . . . . . . > ad1.ca_city b_city,
> . . . . . . . . . . . . > ad1.ca_zip b_zip,
> . . . . . . . . . . . . > ad2.ca_street_number c_street_number,
> . . . . . . . . . . . . > ad2.ca_street_name c_street_name,
> . . . . . . . . . . . . > ad2.ca_city c_city,
> . . . . . . . . . . . . > ad2.ca_zip c_zip,
> . . . . . . . . . . . . > d1.d_year AS syear,
> . . . . . . . . . . . . > d2.d_year AS fsyear,
> . . . . . . . . . . . . > d3.d_year s2year,
> . . . . . . . . . . . . > Count(*) cnt,
> . . . . . . . . . . . . > Sum(ss_wholesale_cost) s1,
> . . . . . . . . . . . . > Sum(ss_list_price) s2,
> . . . . . . . . . . . . > Sum(ss_coupon_amt) s3
> . . . . . . . . . . . . > FROM store_sales,
> . . . . . . . . . . . . > store_returns,
> . . . . . . . . . . . . > cs_ui,
> . . . . . . . . . . . . > date_dim d1,
> . . . . . . . . . . . . > date_dim d2,
> . . . . . . . . . . . . > date_dim d3,
> . . . . . . . . . . . . > store,
> . . . . . . . . . . . . > customer,
> . . . . . . . . . . . . > customer_demographics cd1,
> . . . . . . . . . . . . > customer_demographics cd2,
> . . . . . . . . . . . . > promotion,
> . . . . . . . . . . . . > household_demographics hd1,
> . . . . . . . . . . . . > household_demographics hd2,
> . . . . . . . . . . . . > customer_address ad1,
> . . . . . . . . . . . . > customer_address ad2,
> . . . . . . . . . . . . > income_band ib1,
> . . . . . . . . . . . . > income_band ib2,
> . . . . . . . . . . . . > item
> . . . . . . . . . . . . > WHERE ss_store_sk = s_store_sk
> . . . . . . . . . . . . > AND ss_sold_date_sk = d1.d_date_sk
> . . . . . . . . . . . . > AND ss_customer_sk = c_customer_sk
> . . . . . . . . . . . . > AND ss_cdemo_sk = cd1.cd_demo_sk
> . . . . . . . . . . . . > AND ss_hdemo_sk = hd1.hd_demo_sk
> . . . . . . . . . . . . > AND ss_addr_sk = ad1.ca_address_sk
> . . . . . . . . . . . . > AND ss_item_sk = i_item_sk
> . . . . . . . . . . . . > AND ss_item_sk = sr_item_sk
> . . . . . . . . . . . . > AND ss_ticket_number = sr_ticket_number
> . . . . . . . . . . . . > AND ss_item_sk = cs_ui.cs_item_sk
> . . . . . . . . . . . . > AND c_current_cdemo_sk = cd2.cd_demo_sk
> . . . . . . . . . . . . > AND c_current_hdemo_sk = hd2.hd_demo_sk
> . . . . . . . . . . . . > AND c_current_addr_sk = ad2.ca_address_sk
> . . . . . . . . . . . . > AND c_first_sales_date_sk = d2.d_date_sk
> . . . . . . . . . . . . > AND c_first_shipto_date_sk = d3.d_date_sk
> . . . . . . . . . . . . > AND ss_promo_sk = p_promo_sk
> . . . . . . . . . . . . > AND hd1.hd_income_band_sk = ib1.ib_income_band_sk
> . . . . . . . . . . . . > AND hd2.hd_income_band_sk = ib2.ib_income_band_sk
> . . . . . . . . . . . . > AND cd1.cd_marital_status <> cd2.cd_marital_status
> . . . . . . . . . . . . > AND i_color IN ( 'cyan', 'peach', 'blush', 'frosted',
> . . . . . . . . . . . . > 'powder', 'orange' )
> . . . . . . . . . . . . > AND i_current_price BETWEEN 58 AND 58 + 10
> . . . . . . . . . . . . > AND i_current_price BETWEEN 58 + 1 AND 58 + 15
> . . . . . . . . . . . . > GROUP BY i_product_name,
> . . . . . . . . . . . . > i_item_sk,
> . . . . . . . . . . . . > s_store_name,
> . . . . . . . . . . . . > s_zip,
> . . . . . . . . . . . . > ad1.ca_street_number,
> . . . . . . . . . . . . > ad1.ca_street_name,
> . . . . . . . . . . . . > ad1.ca_city,
> . . . . . . . . . . . . > ad1.ca_zip,
> . . . . . . . . . . . . > ad2.ca_street_number,
> . . . . . . . . . . . . > ad2.ca_street_name,
> . . . . . . . . . . . . > ad2.ca_city,
> . . . . . . . . . . . . > ad2.ca_zip,
> . . . . . . . . . . . . > d1.d_year,
> . . . . . . . . . . . . > d2.d_year,
> . . . . . . . . . . . . > d3.d_year)
> . . . . . . . . . . . . > SELECT cs1.product_name,
> . . . . . . . . . . . . > cs1.store_name,
> . . . . . . . . . . . . > cs1.store_zip,
> . . . . . . . . . . . . > cs1.b_street_number,
> . . . . . . . . . . . . > cs1.b_streen_name,
> . . . . . . . . . . . . > cs1.b_city,
> . . . . . . . . . . . . > cs1.b_zip,
> . . . . . . . . . . . . > cs1.c_street_number,
> . . . . . . . . . . . . > cs1.c_street_name,
> . . . . . . . . . . . . > cs1.c_city,
> . . . . . . . . . . . . > cs1.c_zip,
> . . . . . . . . . . . . > cs1.syear,
> . . . . . . . . . . . . > cs1.cnt,
> . . . . . . . . . . . . > cs1.s1,
> . . . . . . . . . . . . > cs1.s2,
> . . . . . . . . . . . . > cs1.s3,
> . . . . . . . . . . . . > cs2.s1,
> . . . . . . . . . . . . > cs2.s2,
> . . . . . . . . . . . . > cs2.s3,
> . . . . . . . . . . . . > cs2.syear,
> . . . . . . . . . . . . > cs2.cnt
> . . . . . . . . . . . . > FROM cross_sales cs1,
> . . . . . . . . . . . . > cross_sales cs2
> . . . . . . . . . . . . > WHERE cs1.item_sk = cs2.item_sk
> . . . . . . . . . . . . > AND cs1.syear = 2001
> . . . . . . . . . . . . > AND cs2.syear = 2001 + 1
> . . . . . . . . . . . . > AND cs2.cnt <= cs1.cnt
> . . . . . . . . . . . . > AND cs1.store_name = cs2.store_name
> . . . . . . . . . . . . > AND cs1.store_zip = cs2.store_zip
> . . . . . . . . . . . . > ORDER BY cs1.product_name,
> . . . . . . . . . . . . > cs1.store_name,
> . . . . . . . . . . . . > cs2.cnt;
> +----------------+-------------+------------+------------------+----------------+------------+--------+------------------+----------------+----------------+--------+--------+------+--------+-------+------+--------+---------+--------+---------+-------+
> | product_name | store_name | store_zip | b_street_number | b_streen_name | b_city | b_zip | c_street_number | c_street_name | c_city | c_zip | syear | cnt | s1 | s2 | s3 | s10 | s20 | s30 | syear0 | cnt0 |
> +----------------+-------------+------------+------------------+----------------+------------+--------+------------------+----------------+----------------+--------+--------+------+--------+-------+------+--------+---------+--------+---------+-------+
> | antin station | ation | 31904 | 483 | Maple | Woodville | 14289 | 600 | 13th Highland | Spring Valley | 36060 | 2001 | 1 | 33.13 | 63.6 | 0.0 | 97.04 | 112.56 | 15.11 | 2002 | 1 |
> +----------------+-------------+------------+------------------+----------------+------------+--------+------------------+----------------+----------------+--------+--------+------+--------+-------+------+--------+---------+--------+---------+-------+
> 1 row selected (387.503 seconds)
> {code}
> Compared to mapr-drill-1.4.0.201601071151-1.noarch.rpm
> {code}
> 0: jdbc:drill:schema=dfs> WITH cs_ui
> . . . . . . . . . . . . > AS (SELECT cs_item_sk,
> . . . . . . . . . . . . > Sum(cs_ext_list_price) AS sale,
> . . . . . . . . . . . . > Sum(cr_refunded_cash + cr_reversed_charge
> . . . . . . . . . . . . > + cr_store_credit) AS refund
> . . . . . . . . . . . . > FROM catalog_sales,
> . . . . . . . . . . . . > catalog_returns
> . . . . . . . . . . . . > WHERE cs_item_sk = cr_item_sk
> . . . . . . . . . . . . > AND cs_order_number = cr_order_number
> . . . . . . . . . . . . > GROUP BY cs_item_sk
> . . . . . . . . . . . . > HAVING Sum(cs_ext_list_price) > 2 * Sum(
> . . . . . . . . . . . . > cr_refunded_cash + cr_reversed_charge
> . . . . . . . . . . . . > + cr_store_credit)),
> . . . . . . . . . . . . > cross_sales
> . . . . . . . . . . . . > AS (SELECT i_product_name product_name,
> . . . . . . . . . . . . > i_item_sk item_sk,
> . . . . . . . . . . . . > s_store_name store_name,
> . . . . . . . . . . . . > s_zip store_zip,
> . . . . . . . . . . . . > ad1.ca_street_number b_street_number,
> . . . . . . . . . . . . > ad1.ca_street_name b_streen_name,
> . . . . . . . . . . . . > ad1.ca_city b_city,
> . . . . . . . . . . . . > ad1.ca_zip b_zip,
> . . . . . . . . . . . . > ad2.ca_street_number c_street_number,
> . . . . . . . . . . . . > ad2.ca_street_name c_street_name,
> . . . . . . . . . . . . > ad2.ca_city c_city,
> . . . . . . . . . . . . > ad2.ca_zip c_zip,
> . . . . . . . . . . . . > d1.d_year AS syear,
> . . . . . . . . . . . . > d2.d_year AS fsyear,
> . . . . . . . . . . . . > d3.d_year s2year,
> . . . . . . . . . . . . > Count(*) cnt,
> . . . . . . . . . . . . > Sum(ss_wholesale_cost) s1,
> . . . . . . . . . . . . > Sum(ss_list_price) s2,
> . . . . . . . . . . . . > Sum(ss_coupon_amt) s3
> . . . . . . . . . . . . > FROM store_sales,
> . . . . . . . . . . . . > store_returns,
> . . . . . . . . . . . . > cs_ui,
> . . . . . . . . . . . . > date_dim d1,
> . . . . . . . . . . . . > date_dim d2,
> . . . . . . . . . . . . > date_dim d3,
> . . . . . . . . . . . . > store,
> . . . . . . . . . . . . > customer,
> . . . . . . . . . . . . > customer_demographics cd1,
> . . . . . . . . . . . . > customer_demographics cd2,
> . . . . . . . . . . . . > promotion,
> . . . . . . . . . . . . > household_demographics hd1,
> . . . . . . . . . . . . > household_demographics hd2,
> . . . . . . . . . . . . > customer_address ad1,
> . . . . . . . . . . . . > customer_address ad2,
> . . . . . . . . . . . . > income_band ib1,
> . . . . . . . . . . . . > income_band ib2,
> . . . . . . . . . . . . > item
> . . . . . . . . . . . . > WHERE ss_store_sk = s_store_sk
> . . . . . . . . . . . . > AND ss_sold_date_sk = d1.d_date_sk
> . . . . . . . . . . . . > AND ss_customer_sk = c_customer_sk
> . . . . . . . . . . . . > AND ss_cdemo_sk = cd1.cd_demo_sk
> . . . . . . . . . . . . > AND ss_hdemo_sk = hd1.hd_demo_sk
> . . . . . . . . . . . . > AND ss_addr_sk = ad1.ca_address_sk
> . . . . . . . . . . . . > AND ss_item_sk = i_item_sk
> . . . . . . . . . . . . > AND ss_item_sk = sr_item_sk
> . . . . . . . . . . . . > AND ss_ticket_number = sr_ticket_number
> . . . . . . . . . . . . > AND ss_item_sk = cs_ui.cs_item_sk
> . . . . . . . . . . . . > AND c_current_cdemo_sk = cd2.cd_demo_sk
> . . . . . . . . . . . . > AND c_current_hdemo_sk = hd2.hd_demo_sk
> . . . . . . . . . . . . > AND c_current_addr_sk = ad2.ca_address_sk
> . . . . . . . . . . . . > AND c_first_sales_date_sk = d2.d_date_sk
> . . . . . . . . . . . . > AND c_first_shipto_date_sk = d3.d_date_sk
> . . . . . . . . . . . . > AND ss_promo_sk = p_promo_sk
> . . . . . . . . . . . . > AND hd1.hd_income_band_sk = ib1.ib_income_band_sk
> . . . . . . . . . . . . > AND hd2.hd_income_band_sk = ib2.ib_income_band_sk
> . . . . . . . . . . . . > AND cd1.cd_marital_status <> cd2.cd_marital_status
> . . . . . . . . . . . . > AND i_color IN ( 'cyan', 'peach', 'blush', 'frosted',
> . . . . . . . . . . . . > 'powder', 'orange' )
> . . . . . . . . . . . . > AND i_current_price BETWEEN 58 AND 58 + 10
> . . . . . . . . . . . . > AND i_current_price BETWEEN 58 + 1 AND 58 + 15
> . . . . . . . . . . . . > GROUP BY i_product_name,
> . . . . . . . . . . . . > i_item_sk,
> . . . . . . . . . . . . > s_store_name,
> . . . . . . . . . . . . > s_zip,
> . . . . . . . . . . . . > ad1.ca_street_number,
> . . . . . . . . . . . . > ad1.ca_street_name,
> . . . . . . . . . . . . > ad1.ca_city,
> . . . . . . . . . . . . > ad1.ca_zip,
> . . . . . . . . . . . . > ad2.ca_street_number,
> . . . . . . . . . . . . > ad2.ca_street_name,
> . . . . . . . . . . . . > ad2.ca_city,
> . . . . . . . . . . . . > ad2.ca_zip,
> . . . . . . . . . . . . > d1.d_year,
> . . . . . . . . . . . . > d2.d_year,
> . . . . . . . . . . . . > d3.d_year)
> . . . . . . . . . . . . > SELECT cs1.product_name,
> . . . . . . . . . . . . > cs1.store_name,
> . . . . . . . . . . . . > cs1.store_zip,
> . . . . . . . . . . . . > cs1.b_street_number,
> . . . . . . . . . . . . > cs1.b_streen_name,
> . . . . . . . . . . . . > cs1.b_city,
> . . . . . . . . . . . . > cs1.b_zip,
> . . . . . . . . . . . . > cs1.c_street_number,
> . . . . . . . . . . . . > cs1.c_street_name,
> . . . . . . . . . . . . > cs1.c_city,
> . . . . . . . . . . . . > cs1.c_zip,
> . . . . . . . . . . . . > cs1.syear,
> . . . . . . . . . . . . > cs1.cnt,
> . . . . . . . . . . . . > cs1.s1,
> . . . . . . . . . . . . > cs1.s2,
> . . . . . . . . . . . . > cs1.s3,
> . . . . . . . . . . . . > cs2.s1,
> . . . . . . . . . . . . > cs2.s2,
> . . . . . . . . . . . . > cs2.s3,
> . . . . . . . . . . . . > cs2.syear,
> . . . . . . . . . . . . > cs2.cnt
> . . . . . . . . . . . . > FROM cross_sales cs1,
> . . . . . . . . . . . . > cross_sales cs2
> . . . . . . . . . . . . > WHERE cs1.item_sk = cs2.item_sk
> . . . . . . . . . . . . > AND cs1.syear = 2001
> . . . . . . . . . . . . > AND cs2.syear = 2001 + 1
> . . . . . . . . . . . . > AND cs2.cnt <= cs1.cnt
> . . . . . . . . . . . . > AND cs1.store_name = cs2.store_name
> . . . . . . . . . . . . > AND cs1.store_zip = cs2.store_zip
> . . . . . . . . . . . . > ORDER BY cs1.product_name,
> . . . . . . . . . . . . > cs1.store_name,
> . . . . . . . . . . . . > cs2.cnt;
> +----------------+-------------+------------+------------------+----------------+------------+--------+------------------+----------------+----------------+--------+--------+------+--------+-------+------+--------+---------+--------+---------+-------+
> | product_name | store_name | store_zip | b_street_number | b_streen_name | b_city | b_zip | c_street_number | c_street_name | c_city | c_zip | syear | cnt | s1 | s2 | s3 | s10 | s20 | s30 | syear0 | cnt0 |
> +----------------+-------------+------------+------------------+----------------+------------+--------+------------------+----------------+----------------+--------+--------+------+--------+-------+------+--------+---------+--------+---------+-------+
> | antin station | ation | 31904 | 483 | Maple | Woodville | 14289 | 600 | 13th Highland | Spring Valley | 36060 | 2001 | 1 | 33.13 | 63.6 | 0.0 | 97.04 | 112.56 | 15.11 | 2002 | 1 |
> +----------------+-------------+------------+------------------+----------------+------------+--------+------------------+----------------+----------------+--------+--------+------+--------+-------+------+--------+---------+--------+---------+-------+
> 1 row selected (46.24 seconds)
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)