[
https://issues.apache.org/jira/browse/HIVE-8280?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14163080#comment-14163080
]
Mostafa Mokhtar commented on HIVE-8280:
---------------------------------------
+1
With latest patch issue is fixed.
{code}
2014-10-07 19:56:31,721 DEBUG [main]: parse.SemanticAnalyzer
(SemanticAnalyzer.java:apply(12316)) - HiveSortRel(sort0=[$0], sort1=[$1],
sort2=[$20], dir0=[ASC], dir1=[ASC], dir2=[ASC]): rowcount = 5.566394015453287,
cumulative cost = {6.108050195995289E8 rows, 5.566394015453287 cpu, 0.0 io}, id
= 1321
HiveProjectRel(product_name=[$0], store_name=[$2], store_zip=[$3],
b_street_number=[$4], b_streen_name=[$5], b_city=[$6], b_zip=[$7],
c_street_number=[$8], c_street_name=[$9], c_city=[$10], c_zip=[$11],
syear=[$12], cnt=[$13], s1=[$14], s2=[$15], s3=[$16], s11=[$22], s21=[$23],
s31=[$24], syear1=[$20], cnt1=[$21]): rowcount = 5.566394015453287, cumulative
cost = {6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 1319
HiveFilterRel(condition=[<=($21, $13)]): rowcount = 5.566394015453287,
cumulative cost = {6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 1317
HiveProjectRel(product_name=[$0], item_sk=[$1], store_name=[$2],
store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6],
b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10],
c_zip=[$11], syear=[$12], cnt=[$13], s1=[$14], s2=[$15], s3=[$16],
item_sk0=[$17], store_name0=[$18], store_zip0=[$19], syear0=[$20], cnt0=[$21],
s10=[$22], s20=[$23], s30=[$24]): rowcount = 16.699182046359862, cumulative
cost = {6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 3638
HiveJoinRel(condition=[AND(AND(=($1, $17), =($2, $18)), =($3, $19))],
joinType=[inner]): rowcount = 16.699182046359862, cumulative cost =
{6.108042168877393E8 rows, 0.0 cpu, 0.0 io}, id = 3633
HiveProjectRel(product_name=[$0], item_sk=[$1], store_name=[$2],
store_zip=[$3], b_street_number=[$4], b_streen_name=[$5], b_city=[$6],
b_zip=[$7], c_street_number=[$8], c_street_name=[$9], c_city=[$10],
c_zip=[$11], syear=[$12], cnt=[$15], s1=[$16], s2=[$17], s3=[$18]): rowcount =
79.18487224803891, cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0
io}, id = 1219
HiveAggregateRel(group=[{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14}], agg#0=[count()], agg#1=[sum($15)], agg#2=[sum($16)],
agg#3=[sum($17)]): rowcount = 79.18487224803891, cumulative cost =
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1217
HiveProjectRel($f0=[$17], $f1=[$14], $f2=[$31], $f3=[$32],
$f4=[$43], $f5=[$44], $f6=[$45], $f7=[$46], $f8=[$48], $f9=[$49], $f10=[$50],
$f11=[$51], $f12=[$25], $f13=[$27], $f14=[$29], $f15=[$8], $f16=[$9],
$f17=[$10]): rowcount = 215.84856608045916, cumulative cost =
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1215
HiveProjectRel(ss_item_sk=[$16], ss_customer_sk=[$17],
ss_cdemo_sk=[$18], ss_hdemo_sk=[$19], ss_addr_sk=[$20], ss_store_sk=[$21],
ss_promo_sk=[$22], ss_ticket_number=[$23], ss_wholesale_cost=[$24],
ss_list_price=[$25], ss_coupon_amt=[$26], ss_sold_date_sk=[$27],
sr_item_sk=[$28], sr_ticket_number=[$29], i_item_sk=[$30],
i_current_price=[$31], i_color=[$32], i_product_name=[$33],
c_customer_sk=[$34], c_current_cdemo_sk=[$35], c_current_hdemo_sk=[$36],
c_current_addr_sk=[$37], c_first_shipto_date_sk=[$38],
c_first_sales_date_sk=[$39], d_date_sk=[$40], d_year=[$41], d_date_sk0=[$42],
d_year0=[$43], d_date_sk1=[$44], d_year1=[$45], s_store_sk=[$46],
s_store_name=[$47], s_zip=[$48], cd_demo_sk=[$49], cd_marital_status=[$50],
cd_demo_sk0=[$51], cd_marital_status0=[$52], p_promo_sk=[$15], hd_demo_sk=[$0],
hd_income_band_sk=[$1], hd_demo_sk0=[$13], hd_income_band_sk0=[$14],
ca_address_sk=[$8], ca_street_number=[$9], ca_street_name=[$10], ca_city=[$11],
ca_zip=[$12], ca_address_sk0=[$3], ca_street_number0=[$4],
ca_street_name0=[$5], ca_city0=[$6], ca_zip0=[$7], ib_income_band_sk=[$2],
ib_income_band_sk0=[$54], cs_item_sk=[$53]): rowcount = 215.84856608045916,
cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 3631
HiveJoinRel(condition=[=($19, $0)], joinType=[inner]):
rowcount = 215.84856608045916, cumulative cost = {6.108040585179948E8 rows, 0.0
cpu, 0.0 io}, id = 3629
HiveJoinRel(condition=[=($1, $2)], joinType=[inner]):
rowcount = 7200.0, cumulative cost = {7220.0 rows, 0.0 cpu, 0.0 io}, id = 3464
HiveProjectRel(hd_demo_sk=[$0], hd_income_band_sk=[$1]):
rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1269
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
rowcount = 7200.0, cumulative cost = {0}, id = 53
HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]):
rowcount = 20.0, cumulative cost = {0}, id = 63
HiveJoinRel(condition=[=($11, $51)], joinType=[inner]):
rowcount = 136.44231621312272, cumulative cost = {6.107967220756786E8 rows, 0.0
cpu, 0.0 io}, id = 3627
HiveJoinRel(condition=[=($34, $0)], joinType=[inner]):
rowcount = 136.44231621312272, cumulative cost = {6.107965656333624E8 rows, 0.0
cpu, 0.0 io}, id = 3625
HiveProjectRel(ca_address_sk=[$0],
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]):
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
rowcount = 800000.0, cumulative cost = {0}, id = 61
HiveJoinRel(condition=[=($12, $0)], joinType=[inner]):
rowcount = 136.44231621312272, cumulative cost = {6.099964291910462E8 rows, 0.0
cpu, 0.0 io}, id = 3623
HiveProjectRel(ca_address_sk=[$0],
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]):
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
rowcount = 800000.0, cumulative cost = {0}, id = 61
HiveJoinRel(condition=[=($23, $0)],
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost =
{6.091962927487301E8 rows, 0.0 cpu, 0.0 io}, id = 3621
HiveProjectRel(hd_demo_sk=[$0],
hd_income_band_sk=[$1]): rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1269
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
rowcount = 7200.0, cumulative cost = {0}, id = 53
HiveJoinRel(condition=[=($7, $0)],
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost =
{6.091889563064139E8 rows, 0.0 cpu, 0.0 io}, id = 3619
HiveProjectRel(p_promo_sk=[$0]): rowcount =
450.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1265
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.promotion]]):
rowcount = 450.0, cumulative cost = {0}, id = 58
HiveJoinRel(condition=[=($0, $37)],
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost =
{6.091883698640977E8 rows, 0.0 cpu, 0.0 io}, id = 3479
HiveFilterRel(condition=[<>($34, $36)]):
rowcount = 136.44231621312272, cumulative cost = {6.091882324217815E8 rows, 0.0
cpu, 0.0 io}, id = 1169
HiveProjectRel(ss_item_sk=[$19],
ss_customer_sk=[$20], ss_cdemo_sk=[$21], ss_hdemo_sk=[$22], ss_addr_sk=[$23],
ss_store_sk=[$24], ss_promo_sk=[$25], ss_ticket_number=[$26],
ss_wholesale_cost=[$27], ss_list_price=[$28], ss_coupon_amt=[$29],
ss_sold_date_sk=[$30], sr_item_sk=[$0], sr_ticket_number=[$1], i_item_sk=[$31],
i_current_price=[$32], i_color=[$33], i_product_name=[$34], c_customer_sk=[$4],
c_current_cdemo_sk=[$5], c_current_hdemo_sk=[$6], c_current_addr_sk=[$7],
c_first_shipto_date_sk=[$8], c_first_sales_date_sk=[$9], d_date_sk=[$35],
d_year=[$36], d_date_sk0=[$10], d_year0=[$11], d_date_sk1=[$12], d_year1=[$13],
s_store_sk=[$14], s_store_name=[$15], s_zip=[$16], cd_demo_sk=[$17],
cd_marital_status=[$18], cd_demo_sk0=[$2], cd_marital_status0=[$3]): rowcount =
955.0962134918581, cumulative cost = {6.091882324217815E8 rows, 0.0 cpu, 0.0
io}, id = 2633
HiveJoinRel(condition=[AND(=($19, $0),
=($26, $1))], joinType=[inner]): rowcount = 955.0962134918581, cumulative cost
= {6.091882324217815E8 rows, 0.0 cpu, 0.0 io}, id = 2631
HiveProjectRel(sr_item_sk=[$1],
sr_ticket_number=[$8]): rowcount = 5.5578005E7, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1223
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_returns]]):
rowcount = 5.5578005E7, cumulative cost = {0}, id = 62
HiveJoinRel(condition=[=($18, $2)],
joinType=[inner]): rowcount = 241.3079963041512, cumulative cost =
{5.536099861137853E8 rows, 0.0 cpu, 0.0 io}, id = 2629
HiveJoinRel(condition=[=($6, $10)],
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {6866898.0 rows, 0.0
cpu, 0.0 io}, id = 2620
HiveJoinRel(condition=[=($7, $8)],
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {5193849.0 rows, 0.0
cpu, 0.0 io}, id = 2618
HiveJoinRel(condition=[=($3, $0)],
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {3520800.0 rows, 0.0
cpu, 0.0 io}, id = 2060
HiveProjectRel(cd_demo_sk=[$0],
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1255
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
rowcount = 1920800.0, cumulative cost = {0}, id = 56
HiveProjectRel(c_customer_sk=[$0], c_current_cdemo_sk=[$2],
c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5],
c_first_sales_date_sk=[$6]): rowcount = 1600000.0, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1233
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer]]):
rowcount = 1600000.0, cumulative cost = {0}, id = 59
HiveProjectRel(d_date_sk=[$0],
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0
io}, id = 1243
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]):
rowcount = 73049.0, cumulative cost = {0}, id = 65
HiveProjectRel(d_date_sk=[$0],
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0
io}, id = 1243
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]):
rowcount = 73049.0, cumulative cost = {0}, id = 65
HiveJoinRel(condition=[=($10, $0)],
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost =
{5.520098837929977E8 rows, 0.0 cpu, 0.0 io}, id = 2627
HiveProjectRel(s_store_sk=[$0],
s_store_name=[$5], s_zip=[$25]): rowcount = 212.0, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1251
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store]]): rowcount
= 212.0, cumulative cost = {0}, id = 54
HiveJoinRel(condition=[=($4, $0)],
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost =
{5.520095694722102E8 rows, 0.0 cpu, 0.0 io}, id = 2625
HiveProjectRel(cd_demo_sk=[$0],
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1255
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
rowcount = 1920800.0, cumulative cost = {0}, id = 56
HiveJoinRel(condition=[=($11,
$16)], joinType=[inner]): rowcount = 102.32078757440475, cumulative cost =
{5.500886671514226E8 rows, 0.0 cpu, 0.0 io}, id = 2623
HiveJoinRel(condition=[=($0,
$12)], joinType=[inner]): rowcount = 11459.928208333333, cumulative cost =
{5.50076555E8 rows, 0.0 cpu, 0.0 io}, id = 2090
HiveProjectRel(ss_item_sk=[$1],
ss_customer_sk=[$2], ss_cdemo_sk=[$3], ss_hdemo_sk=[$4], ss_addr_sk=[$5],
ss_store_sk=[$6], ss_promo_sk=[$7], ss_ticket_number=[$8],
ss_wholesale_cost=[$10], ss_list_price=[$11], ss_coupon_amt=[$18],
ss_sold_date_sk=[$22]): rowcount = 5.50076554E8, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1221
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_sales]]):
rowcount = 5.50076554E8, cumulative cost = {0}, id = 55
HiveProjectRel(i_item_sk=[$0],
i_current_price=[$5], i_color=[$17], i_product_name=[$21]): rowcount = 1.0,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1135
HiveFilterRel(condition=[AND(in($17, 'maroon', 'burnished', 'dim', 'steel',
'navajo', 'chocolate'), between(false, $5, 35, +(35, 10)), between(false, $5,
+(35, 1), +(35, 15)))]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 cpu,
0.0 io}, id = 1133
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.item]]): rowcount =
48000.0, cumulative cost = {0}, id = 68
HiveProjectRel(d_date_sk=[$0],
d_year=[$6]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1145
HiveFilterRel(condition=[=($6,
2000)]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0 cpu,
0.0 io}, id = 1143
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]):
rowcount = 73049.0, cumulative cost = {0}, id = 65
HiveProjectRel(cs_item_sk=[$0]): rowcount =
1.0, cumulative cost = {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1211
HiveFilterRel(condition=[>($1,
*(CAST(2):DOUBLE NOT NULL, $2))]): rowcount = 1.0, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1209
HiveAggregateRel(group=[{0}],
agg#0=[sum($1)], agg#1=[sum($2)]): rowcount = 38846.0, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1207
HiveProjectRel($f0=[$0], $f1=[$2],
$f2=[+(+($5, $6), $7)]): rowcount = 6.692553251460564E8, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1205
HiveProjectRel(cs_item_sk=[$0],
cs_order_number=[$1], cs_ext_list_price=[$2], cr_item_sk=[$3],
cr_order_number=[$4], cr_refunded_cash=[$5], cr_reversed_charge=[$6],
cr_store_credit=[$7]): rowcount = 6.692553251460564E8, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1461
HiveJoinRel(condition=[AND(=($0, $3),
=($1, $4))], joinType=[inner]): rowcount = 6.692553251460564E8, cumulative cost
= {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1456
HiveProjectRel(cs_item_sk=[$14],
cs_order_number=[$16], cs_ext_list_price=[$24]): rowcount = 2.86549727E8,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1293
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_sales]]):
rowcount = 2.86549727E8, cumulative cost = {0}, id = 45
HiveProjectRel(cr_item_sk=[$1],
cr_order_number=[$15], cr_refunded_cash=[$22], cr_reversed_charge=[$23],
cr_store_credit=[$24]): rowcount = 2.8798881E7, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1295
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_returns]]):
rowcount = 2.8798881E7, cumulative cost = {0}, id = 46
HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]):
rowcount = 20.0, cumulative cost = {0}, id = 63
HiveProjectRel(item_sk=[$1], store_name=[$2], store_zip=[$3],
syear=[$12], cnt=[$15], s1=[$16], s2=[$17], s3=[$18]): rowcount =
79.18487224803891, cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0
io}, id = 1313
HiveAggregateRel(group=[{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12,
13, 14}], agg#0=[count()], agg#1=[sum($15)], agg#2=[sum($16)],
agg#3=[sum($17)]): rowcount = 79.18487224803891, cumulative cost =
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1311
HiveProjectRel($f0=[$17], $f1=[$14], $f2=[$31], $f3=[$32],
$f4=[$43], $f5=[$44], $f6=[$45], $f7=[$46], $f8=[$48], $f9=[$49], $f10=[$50],
$f11=[$51], $f12=[$25], $f13=[$27], $f14=[$29], $f15=[$8], $f16=[$9],
$f17=[$10]): rowcount = 215.84856608045916, cumulative cost =
{6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 1309
HiveProjectRel(ss_item_sk=[$16], ss_customer_sk=[$17],
ss_cdemo_sk=[$18], ss_hdemo_sk=[$19], ss_addr_sk=[$20], ss_store_sk=[$21],
ss_promo_sk=[$22], ss_ticket_number=[$23], ss_wholesale_cost=[$24],
ss_list_price=[$25], ss_coupon_amt=[$26], ss_sold_date_sk=[$27],
sr_item_sk=[$28], sr_ticket_number=[$29], i_item_sk=[$30],
i_current_price=[$31], i_color=[$32], i_product_name=[$33],
c_customer_sk=[$34], c_current_cdemo_sk=[$35], c_current_hdemo_sk=[$36],
c_current_addr_sk=[$37], c_first_shipto_date_sk=[$38],
c_first_sales_date_sk=[$39], d_date_sk=[$40], d_year=[$41], d_date_sk0=[$42],
d_year0=[$43], d_date_sk1=[$44], d_year1=[$45], s_store_sk=[$46],
s_store_name=[$47], s_zip=[$48], cd_demo_sk=[$49], cd_marital_status=[$50],
cd_demo_sk0=[$51], cd_marital_status0=[$52], p_promo_sk=[$15], hd_demo_sk=[$0],
hd_income_band_sk=[$1], hd_demo_sk0=[$13], hd_income_band_sk0=[$14],
ca_address_sk=[$8], ca_street_number=[$9], ca_street_name=[$10], ca_city=[$11],
ca_zip=[$12], ca_address_sk0=[$3], ca_street_number0=[$4],
ca_street_name0=[$5], ca_city0=[$6], ca_zip0=[$7], ib_income_band_sk=[$2],
ib_income_band_sk0=[$54], cs_item_sk=[$53]): rowcount = 215.84856608045916,
cumulative cost = {6.108040585179948E8 rows, 0.0 cpu, 0.0 io}, id = 3132
HiveJoinRel(condition=[=($19, $0)], joinType=[inner]):
rowcount = 215.84856608045916, cumulative cost = {6.108040585179948E8 rows, 0.0
cpu, 0.0 io}, id = 3130
HiveJoinRel(condition=[=($1, $2)], joinType=[inner]):
rowcount = 7200.0, cumulative cost = {7220.0 rows, 0.0 cpu, 0.0 io}, id = 2965
HiveProjectRel(hd_demo_sk=[$0], hd_income_band_sk=[$1]):
rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1269
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
rowcount = 7200.0, cumulative cost = {0}, id = 53
HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]):
rowcount = 20.0, cumulative cost = {0}, id = 63
HiveJoinRel(condition=[=($11, $51)], joinType=[inner]):
rowcount = 136.44231621312272, cumulative cost = {6.107967220756786E8 rows, 0.0
cpu, 0.0 io}, id = 3128
HiveJoinRel(condition=[=($34, $0)], joinType=[inner]):
rowcount = 136.44231621312272, cumulative cost = {6.107965656333624E8 rows, 0.0
cpu, 0.0 io}, id = 3126
HiveProjectRel(ca_address_sk=[$0],
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]):
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
rowcount = 800000.0, cumulative cost = {0}, id = 61
HiveJoinRel(condition=[=($12, $0)], joinType=[inner]):
rowcount = 136.44231621312272, cumulative cost = {6.099964291910462E8 rows, 0.0
cpu, 0.0 io}, id = 3124
HiveProjectRel(ca_address_sk=[$0],
ca_street_number=[$2], ca_street_name=[$3], ca_city=[$6], ca_zip=[$9]):
rowcount = 800000.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1277
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_address]]):
rowcount = 800000.0, cumulative cost = {0}, id = 61
HiveJoinRel(condition=[=($23, $0)],
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost =
{6.091962927487301E8 rows, 0.0 cpu, 0.0 io}, id = 3122
HiveProjectRel(hd_demo_sk=[$0],
hd_income_band_sk=[$1]): rowcount = 7200.0, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1269
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.household_demographics]]):
rowcount = 7200.0, cumulative cost = {0}, id = 53
HiveJoinRel(condition=[=($7, $0)],
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost =
{6.091889563064139E8 rows, 0.0 cpu, 0.0 io}, id = 3120
HiveProjectRel(p_promo_sk=[$0]): rowcount =
450.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1265
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.promotion]]):
rowcount = 450.0, cumulative cost = {0}, id = 58
HiveJoinRel(condition=[=($0, $37)],
joinType=[inner]): rowcount = 136.44231621312272, cumulative cost =
{6.091883698640977E8 rows, 0.0 cpu, 0.0 io}, id = 2980
HiveFilterRel(condition=[<>($34, $36)]):
rowcount = 136.44231621312272, cumulative cost = {6.091882324217815E8 rows, 0.0
cpu, 0.0 io}, id = 1263
HiveProjectRel(ss_item_sk=[$19],
ss_customer_sk=[$20], ss_cdemo_sk=[$21], ss_hdemo_sk=[$22], ss_addr_sk=[$23],
ss_store_sk=[$24], ss_promo_sk=[$25], ss_ticket_number=[$26],
ss_wholesale_cost=[$27], ss_list_price=[$28], ss_coupon_amt=[$29],
ss_sold_date_sk=[$30], sr_item_sk=[$0], sr_ticket_number=[$1], i_item_sk=[$31],
i_current_price=[$32], i_color=[$33], i_product_name=[$34], c_customer_sk=[$4],
c_current_cdemo_sk=[$5], c_current_hdemo_sk=[$6], c_current_addr_sk=[$7],
c_first_shipto_date_sk=[$8], c_first_sales_date_sk=[$9], d_date_sk=[$35],
d_year=[$36], d_date_sk0=[$10], d_year0=[$11], d_date_sk1=[$12], d_year1=[$13],
s_store_sk=[$14], s_store_name=[$15], s_zip=[$16], cd_demo_sk=[$17],
cd_marital_status=[$18], cd_demo_sk0=[$2], cd_marital_status0=[$3]): rowcount =
955.0962134918581, cumulative cost = {6.091882324217815E8 rows, 0.0 cpu, 0.0
io}, id = 2047
HiveJoinRel(condition=[AND(=($19, $0),
=($26, $1))], joinType=[inner]): rowcount = 955.0962134918581, cumulative cost
= {6.091882324217815E8 rows, 0.0 cpu, 0.0 io}, id = 2045
HiveProjectRel(sr_item_sk=[$1],
sr_ticket_number=[$8]): rowcount = 5.5578005E7, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1223
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_returns]]):
rowcount = 5.5578005E7, cumulative cost = {0}, id = 62
HiveJoinRel(condition=[=($18, $2)],
joinType=[inner]): rowcount = 241.3079963041512, cumulative cost =
{5.536099861137853E8 rows, 0.0 cpu, 0.0 io}, id = 2043
HiveJoinRel(condition=[=($6, $10)],
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {6866898.0 rows, 0.0
cpu, 0.0 io}, id = 2034
HiveJoinRel(condition=[=($7, $8)],
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {5193849.0 rows, 0.0
cpu, 0.0 io}, id = 2032
HiveJoinRel(condition=[=($3, $0)],
joinType=[inner]): rowcount = 1600000.0, cumulative cost = {3520800.0 rows, 0.0
cpu, 0.0 io}, id = 1474
HiveProjectRel(cd_demo_sk=[$0],
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1255
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
rowcount = 1920800.0, cumulative cost = {0}, id = 56
HiveProjectRel(c_customer_sk=[$0], c_current_cdemo_sk=[$2],
c_current_hdemo_sk=[$3], c_current_addr_sk=[$4], c_first_shipto_date_sk=[$5],
c_first_sales_date_sk=[$6]): rowcount = 1600000.0, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1233
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer]]):
rowcount = 1600000.0, cumulative cost = {0}, id = 59
HiveProjectRel(d_date_sk=[$0],
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0
io}, id = 1243
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]):
rowcount = 73049.0, cumulative cost = {0}, id = 65
HiveProjectRel(d_date_sk=[$0],
d_year=[$6]): rowcount = 73049.0, cumulative cost = {0.0 rows, 0.0 cpu, 0.0
io}, id = 1243
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]):
rowcount = 73049.0, cumulative cost = {0}, id = 65
HiveJoinRel(condition=[=($10, $0)],
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost =
{5.520098837929977E8 rows, 0.0 cpu, 0.0 io}, id = 2041
HiveProjectRel(s_store_sk=[$0],
s_store_name=[$5], s_zip=[$25]): rowcount = 212.0, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1251
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store]]): rowcount
= 212.0, cumulative cost = {0}, id = 54
HiveJoinRel(condition=[=($4, $0)],
joinType=[inner]): rowcount = 102.32078757440475, cumulative cost =
{5.520095694722102E8 rows, 0.0 cpu, 0.0 io}, id = 2039
HiveProjectRel(cd_demo_sk=[$0],
cd_marital_status=[$2]): rowcount = 1920800.0, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1255
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.customer_demographics]]):
rowcount = 1920800.0, cumulative cost = {0}, id = 56
HiveJoinRel(condition=[=($11,
$16)], joinType=[inner]): rowcount = 102.32078757440475, cumulative cost =
{5.500886671514226E8 rows, 0.0 cpu, 0.0 io}, id = 2037
HiveJoinRel(condition=[=($0,
$12)], joinType=[inner]): rowcount = 11459.928208333333, cumulative cost =
{5.50076555E8 rows, 0.0 cpu, 0.0 io}, id = 1504
HiveProjectRel(ss_item_sk=[$1],
ss_customer_sk=[$2], ss_cdemo_sk=[$3], ss_hdemo_sk=[$4], ss_addr_sk=[$5],
ss_store_sk=[$6], ss_promo_sk=[$7], ss_ticket_number=[$8],
ss_wholesale_cost=[$10], ss_list_price=[$11], ss_coupon_amt=[$18],
ss_sold_date_sk=[$22]): rowcount = 5.50076554E8, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1221
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.store_sales]]):
rowcount = 5.50076554E8, cumulative cost = {0}, id = 55
HiveProjectRel(i_item_sk=[$0],
i_current_price=[$5], i_color=[$17], i_product_name=[$21]): rowcount = 1.0,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1229
HiveFilterRel(condition=[AND(in($17, 'maroon', 'burnished', 'dim', 'steel',
'navajo', 'chocolate'), between(false, $5, 35, +(35, 10)), between(false, $5,
+(35, 1), +(35, 15)))]): rowcount = 1.0, cumulative cost = {0.0 rows, 0.0 cpu,
0.0 io}, id = 1227
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.item]]): rowcount =
48000.0, cumulative cost = {0}, id = 68
HiveProjectRel(d_date_sk=[$0],
d_year=[$6]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1239
HiveFilterRel(condition=[=($6,
+(2000, 1))]): rowcount = 652.2232142857142, cumulative cost = {0.0 rows, 0.0
cpu, 0.0 io}, id = 1237
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.date_dim]]):
rowcount = 73049.0, cumulative cost = {0}, id = 65
HiveProjectRel(cs_item_sk=[$0]): rowcount =
1.0, cumulative cost = {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1305
HiveFilterRel(condition=[>($1,
*(CAST(2):DOUBLE NOT NULL, $2))]): rowcount = 1.0, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1303
HiveAggregateRel(group=[{0}],
agg#0=[sum($1)], agg#1=[sum($2)]): rowcount = 38846.0, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1301
HiveProjectRel($f0=[$0], $f1=[$2],
$f2=[+(+($5, $6), $7)]): rowcount = 6.692553251460564E8, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1299
HiveProjectRel(cs_item_sk=[$0],
cs_order_number=[$1], cs_ext_list_price=[$2], cr_item_sk=[$3],
cr_order_number=[$4], cr_refunded_cash=[$5], cr_reversed_charge=[$6],
cr_store_credit=[$7]): rowcount = 6.692553251460564E8, cumulative cost =
{3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1454
HiveJoinRel(condition=[AND(=($0, $3),
=($1, $4))], joinType=[inner]): rowcount = 6.692553251460564E8, cumulative cost
= {3.15348608E8 rows, 0.0 cpu, 0.0 io}, id = 1449
HiveProjectRel(cs_item_sk=[$14],
cs_order_number=[$16], cs_ext_list_price=[$24]): rowcount = 2.86549727E8,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1293
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_sales]]):
rowcount = 2.86549727E8, cumulative cost = {0}, id = 45
HiveProjectRel(cr_item_sk=[$1],
cr_order_number=[$15], cr_refunded_cash=[$22], cr_reversed_charge=[$23],
cr_store_credit=[$24]): rowcount = 2.8798881E7, cumulative cost = {0.0 rows,
0.0 cpu, 0.0 io}, id = 1295
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.catalog_returns]]):
rowcount = 2.8798881E7, cumulative cost = {0}, id = 46
HiveProjectRel(ib_income_band_sk=[$0]): rowcount = 20.0,
cumulative cost = {0.0 rows, 0.0 cpu, 0.0 io}, id = 1285
HiveTableScanRel(table=[[tpcds_bin_partitioned_orc_200_orig.income_band]]):
rowcount = 20.0, cumulative cost = {0}, id = 63
{code}
> CBO : When filter is applied on dimension table PK/FK code path is not in
> effect.
> ---------------------------------------------------------------------------------
>
> Key: HIVE-8280
> URL: https://issues.apache.org/jira/browse/HIVE-8280
> Project: Hive
> Issue Type: Bug
> Components: CBO
> Affects Versions: 0.14.0
> Reporter: Mostafa Mokhtar
> Assignee: Harish Butani
> Fix For: 0.14.0
>
> Attachments: HIVE-8280.1.patch, HIVE-8280.2.patch, HIVE-8280.3.patch
>
>
> When a filter is applied on PK side joins don't qualify as PK/FK join.
> In getUniqueKeys when a filter is applied on the table the child is no
> longer a table scan.
> {code}
> public Set<BitSet> getUniqueKeys(ProjectRelBase rel, boolean ignoreNulls) {
> RelNode child = rel.getChild();
> if (!(child instanceof HiveTableScanRel)) {
> Function<RelNode, Metadata> fn = RelMdUniqueKeys.SOURCE.apply(
> rel.getClass(), BuiltInMetadata.UniqueKeys.class);
> return ((BuiltInMetadata.UniqueKeys) fn.apply(rel))
> .getUniqueKeys(ignoreNulls);
> }
> {code}
> Repro
> {code}
> with ss as
> (select
> ss_customer_sk, ss_item_sk, ss_ticket_number
> from
> store_sales,
> store
> where
> s_store_sk = ss_store_sk
> and s_market_id = 4),
> sr as
> (select sr_customer_sk,sr_item_sk ,sr_ticket_number from store_returns, store
> where s_store_sk = sr_store_sk and s_market_id=4)
> select
> count(*)
> from
> ss,
> sr
> where
> ss_customer_sk = sr_customer_sk
> and ss_item_sk = sr_item_sk
> and ss_ticket_number = sr_ticket_number;
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)