carbondata-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ramakrishna S (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CARBONDATA-1740) Carbon1.3.0-Pre-AggregateTable - Query plan exception for aggregate query with order by when main table is having pre-aggregate table
Date Thu, 16 Nov 2017 13:17:00 GMT

     [ https://issues.apache.org/jira/browse/CARBONDATA-1740?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Ramakrishna S updated CARBONDATA-1740:
--------------------------------------
    Description: 
lineitem3: has a pre-aggregate table 
select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group
by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
Error: org.apache.spark.sql.AnalysisException: expression '`lineitem3_l_returnflag`' is neither
present in the group by, nor is it an aggregate function. Add to group by or wrap in first()
(or first_value) if you don't care which value you get.;;
Project [l_returnflag#2356, l_linestatus#2366, sum(l_quantity)#2791, sum(l_extendedprice)#2792]
+- Sort [aggOrder#2795 ASC NULLS FIRST, aggOrder#2796 ASC NULLS FIRST], true
   +- !Aggregate [l_returnflag#2356, l_linestatus#2366], [l_returnflag#2356, l_linestatus#2366,
sum(l_quantity#2362) AS sum(l_quantity)#2791, sum(l_extendedprice#2363) AS sum(l_extendedprice)#2792,
lineitem3_l_returnflag#2341 AS aggOrder#2795, lineitem3_l_linestatus#2342 AS aggOrder#2796]
      +- SubqueryAlias lineitem3
         +- Relation[L_SHIPDATE#2353,L_SHIPMODE#2354,L_SHIPINSTRUCT#2355,L_RETURNFLAG#2356,L_RECEIPTDATE#2357,L_ORDERKEY#2358,L_PARTKEY#2359,L_SUPPKEY#2360,L_LINENUMBER#2361,L_QUANTITY#2362,L_EXTENDEDPRICE#2363,L_DISCOUNT#2364,L_TAX#2365,L_LINESTATUS#2366,L_COMMITDATE#2367,L_COMMENT#2368]
CarbonDatasourceHadoopRelation [ Database name :test_db1, Table name :lineitem3, Schema :Some(StructType(StructField(L_SHIPDATE,StringType,true),
StructField(L_SHIPMODE,StringType,true), StructField(L_SHIPINSTRUCT,StringType,true), StructField(L_RETURNFLAG,StringType,true),
StructField(L_RECEIPTDATE,StringType,true), StructField(L_ORDERKEY,StringType,true), StructField(L_PARTKEY,StringType,true),
StructField(L_SUPPKEY,StringType,true), StructField(L_LINENUMBER,IntegerType,true), StructField(L_QUANTITY,DoubleType,true),
StructField(L_EXTENDEDPRICE,DoubleType,true), StructField(L_DISCOUNT,DoubleType,true), StructField(L_TAX,DoubleType,true),
StructField(L_LINESTATUS,StringType,true), StructField(L_COMMITDATE,StringType,true), StructField(L_COMMENT,StringType,true)))
] (state=,code=0)

lineitem4: no pre-aggregate table created
select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem4 group
by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
+---------------+---------------+------------------+------------------------+--+
| l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
+---------------+---------------+------------------+------------------------+--+
| A             | F             | 1.263625E7       | 1.8938515425239815E10  |
| N             | F             | 327800.0         | 4.913876776200002E8    |
| N             | O             | 2.5398626E7      | 3.810981608977963E10   |
| R             | F             | 1.2643878E7      | 1.8948524305619884E10  |
+---------------+---------------+------------------+------------------------+--+

*+Expected:+*: aggregate query with order by should run fine
*+Actual:+* aggregate query with order failed 



  was:

0: jdbc:hive2://10.18.98.48:23040> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice)
from lineitem3 group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
Error: org.apache.spark.sql.AnalysisException: expression '`lineitem3_l_returnflag`' is neither
present in the group by, nor is it an aggregate function. Add to group by or wrap in first()
(or first_value) if you don't care which value you get.;;
Project [l_returnflag#2356, l_linestatus#2366, sum(l_quantity)#2791, sum(l_extendedprice)#2792]
+- Sort [aggOrder#2795 ASC NULLS FIRST, aggOrder#2796 ASC NULLS FIRST], true
   +- !Aggregate [l_returnflag#2356, l_linestatus#2366], [l_returnflag#2356, l_linestatus#2366,
sum(l_quantity#2362) AS sum(l_quantity)#2791, sum(l_extendedprice#2363) AS sum(l_extendedprice)#2792,
lineitem3_l_returnflag#2341 AS aggOrder#2795, lineitem3_l_linestatus#2342 AS aggOrder#2796]
      +- SubqueryAlias lineitem3
         +- Relation[L_SHIPDATE#2353,L_SHIPMODE#2354,L_SHIPINSTRUCT#2355,L_RETURNFLAG#2356,L_RECEIPTDATE#2357,L_ORDERKEY#2358,L_PARTKEY#2359,L_SUPPKEY#2360,L_LINENUMBER#2361,L_QUANTITY#2362,L_EXTENDEDPRICE#2363,L_DISCOUNT#2364,L_TAX#2365,L_LINESTATUS#2366,L_COMMITDATE#2367,L_COMMENT#2368]
CarbonDatasourceHadoopRelation [ Database name :test_db1, Table name :lineitem3, Schema :Some(StructType(StructField(L_SHIPDATE,StringType,true),
StructField(L_SHIPMODE,StringType,true), StructField(L_SHIPINSTRUCT,StringType,true), StructField(L_RETURNFLAG,StringType,true),
StructField(L_RECEIPTDATE,StringType,true), StructField(L_ORDERKEY,StringType,true), StructField(L_PARTKEY,StringType,true),
StructField(L_SUPPKEY,StringType,true), StructField(L_LINENUMBER,IntegerType,true), StructField(L_QUANTITY,DoubleType,true),
StructField(L_EXTENDEDPRICE,DoubleType,true), StructField(L_DISCOUNT,DoubleType,true), StructField(L_TAX,DoubleType,true),
StructField(L_LINESTATUS,StringType,true), StructField(L_COMMITDATE,StringType,true), StructField(L_COMMENT,StringType,true)))
] (state=,code=0)

0: jdbc:hive2://10.18.98.48:23040> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice)
from lineitem4 group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
+---------------+---------------+------------------+------------------------+--+
| l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
+---------------+---------------+------------------+------------------------+--+
| A             | F             | 1.263625E7       | 1.8938515425239815E10  |
| N             | F             | 327800.0         | 4.913876776200002E8    |
| N             | O             | 2.5398626E7      | 3.810981608977963E10   |
| R             | F             | 1.2643878E7      | 1.8948524305619884E10  |
+---------------+---------------+------------------+------------------------+--+

*+Expected:+*: one of these should have been the behavour:
1.Ignore segment filter and use all segments for pre-aggregate load. At the time of query
run, if segment filter is set then ignore the pre-aggr table and fetch data from main table.
(*Preferred*)
Or
2. Reject pre-aggregate creation when segment filter is set or vis-a-versa.

*+Actual:+* Partial data returned 




> Carbon1.3.0-Pre-AggregateTable - Query plan exception for aggregate query with order
by when main table is having pre-aggregate table
> -------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CARBONDATA-1740
>                 URL: https://issues.apache.org/jira/browse/CARBONDATA-1740
>             Project: CarbonData
>          Issue Type: Bug
>          Components: data-load
>    Affects Versions: 1.3.0
>         Environment: Test - 3 node ant cluster
>            Reporter: Ramakrishna S
>              Labels: DFX
>             Fix For: 1.3.0
>
>
> lineitem3: has a pre-aggregate table 
> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3
group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
> Error: org.apache.spark.sql.AnalysisException: expression '`lineitem3_l_returnflag`'
is neither present in the group by, nor is it an aggregate function. Add to group by or wrap
in first() (or first_value) if you don't care which value you get.;;
> Project [l_returnflag#2356, l_linestatus#2366, sum(l_quantity)#2791, sum(l_extendedprice)#2792]
> +- Sort [aggOrder#2795 ASC NULLS FIRST, aggOrder#2796 ASC NULLS FIRST], true
>    +- !Aggregate [l_returnflag#2356, l_linestatus#2366], [l_returnflag#2356, l_linestatus#2366,
sum(l_quantity#2362) AS sum(l_quantity)#2791, sum(l_extendedprice#2363) AS sum(l_extendedprice)#2792,
lineitem3_l_returnflag#2341 AS aggOrder#2795, lineitem3_l_linestatus#2342 AS aggOrder#2796]
>       +- SubqueryAlias lineitem3
>          +- Relation[L_SHIPDATE#2353,L_SHIPMODE#2354,L_SHIPINSTRUCT#2355,L_RETURNFLAG#2356,L_RECEIPTDATE#2357,L_ORDERKEY#2358,L_PARTKEY#2359,L_SUPPKEY#2360,L_LINENUMBER#2361,L_QUANTITY#2362,L_EXTENDEDPRICE#2363,L_DISCOUNT#2364,L_TAX#2365,L_LINESTATUS#2366,L_COMMITDATE#2367,L_COMMENT#2368]
CarbonDatasourceHadoopRelation [ Database name :test_db1, Table name :lineitem3, Schema :Some(StructType(StructField(L_SHIPDATE,StringType,true),
StructField(L_SHIPMODE,StringType,true), StructField(L_SHIPINSTRUCT,StringType,true), StructField(L_RETURNFLAG,StringType,true),
StructField(L_RECEIPTDATE,StringType,true), StructField(L_ORDERKEY,StringType,true), StructField(L_PARTKEY,StringType,true),
StructField(L_SUPPKEY,StringType,true), StructField(L_LINENUMBER,IntegerType,true), StructField(L_QUANTITY,DoubleType,true),
StructField(L_EXTENDEDPRICE,DoubleType,true), StructField(L_DISCOUNT,DoubleType,true), StructField(L_TAX,DoubleType,true),
StructField(L_LINESTATUS,StringType,true), StructField(L_COMMITDATE,StringType,true), StructField(L_COMMENT,StringType,true)))
] (state=,code=0)
> lineitem4: no pre-aggregate table created
> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem4
group by l_returnflag, l_linestatus order by l_returnflag, l_linestatus;
> +---------------+---------------+------------------+------------------------+--+
> | l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
> +---------------+---------------+------------------+------------------------+--+
> | A             | F             | 1.263625E7       | 1.8938515425239815E10  |
> | N             | F             | 327800.0         | 4.913876776200002E8    |
> | N             | O             | 2.5398626E7      | 3.810981608977963E10   |
> | R             | F             | 1.2643878E7      | 1.8948524305619884E10  |
> +---------------+---------------+------------------+------------------------+--+
> *+Expected:+*: aggregate query with order by should run fine
> *+Actual:+* aggregate query with order failed 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message