[jira] [Updated] (CARBONDATA-1736) Carbon1.3.0-Pre-AggregateTable -Query from segment set is not effective when pre-aggregate table is present

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Updated] (CARBONDATA-1736) Carbon1.3.0-Pre-AggregateTable -Query from segment set is not effective when pre-aggregate table is present

Akash R Nilugal (Jira)

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

Ramakrishna S updated CARBONDATA-1736:
--------------------------------------
    Description:
1. Create a table
create table if not exists lineitem1(L_SHIPDATE string,L_SHIPMODE string,L_SHIPINSTRUCT string,L_RETURNFLAG string,L_RECEIPTDATE string,L_ORDERKEY string,L_PARTKEY string,L_SUPPKEY   string,L_LINENUMBER int,L_QUANTITY double,L_EXTENDEDPRICE double,L_DISCOUNT double,L_TAX double,L_LINESTATUS string,L_COMMITDATE string,L_COMMENT  string) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES ('table_blocksize'='128','NO_INVERTED_INDEX'='L_SHIPDATE,L_SHIPMODE,L_SHIPINSTRUCT,L_RETURNFLAG,L_RECEIPTDATE,L_ORDERKEY,L_PARTKEY,L_SUPPKEY','sort_columns'='');
2. Run load :
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem1 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT');

3. create pre-agg table
create datamap agr_lineitem3 ON TABLE lineitem3 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select L_RETURNFLAG,L_LINESTATUS,sum(L_QUANTITY),sum(L_EXTENDEDPRICE) from lineitem3 group by  L_RETURNFLAG, L_LINESTATUS;

3.  Check table content using aggregate query:
select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;

+---------------+---------------+------------------+------------------------+--+
| l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
+---------------+---------------+------------------+------------------------+--+
| N             | F             | 4913382.0        | 7.369901176949993E9    |
| A             | F             | 1.88818373E8     | 2.8310705145736383E11  |
| N             | O             | 3.82400594E8     | 5.734650756707479E11   |
| R             | F             | 1.88960009E8     | 2.833523780876951E11   |
+---------------+---------------+------------------+------------------------+--+
4 rows selected (1.568 seconds)

4. Load one more time:
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem1 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT');

5.  Check table content using aggregate query:
select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;

+---------------+---------------+------------------+------------------------+--+
| l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
+---------------+---------------+------------------+------------------------+--+
| N             | F             | 9826764.0        | 1.4739802353899986E10  |
| A             | F             | 3.77636746E8     | 5.662141029147278E11   |
| N             | O             | 7.64801188E8     | 1.1469301513414958E12  |
| R             | F             | 3.77920018E8     | 5.667047561753901E11   |
+---------------+---------------+------------------+------------------------+--+

6. Set query from segment 1:

0: jdbc:hive2://10.18.98.48:23040> set carbon.input.segments.test_db1.lilneitem1=1;
+--------------------------------------------+--------+--+
|                    key                     | value  |
+--------------------------------------------+--------+--+
| carbon.input.segments.test_db1.lilneitem1  | 1      |
+--------------------------------------------+--------+--+

7. Check table content using aggregate query:
select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;

*+Expected+*: It should return the values from segment 1 alone.
*+Actual :+* : It returns values from both segments
+---------------+---------------+------------------+------------------------+--+
| l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
+---------------+---------------+------------------+------------------------+--+
| N             | F             | 9826764.0        | 1.4739802353899986E10  |
| A             | F             | 3.77636746E8     | 5.662141029147278E11   |
| N             | O             | 7.64801188E8     | 1.1469301513414958E12  |
| R             | F             | 3.77920018E8     | 5.667047561753901E11   |
+---------------+---------------+------------------+------------------------+--+



  was:
1. Create a table
create table if not exists lineitem3(L_SHIPDATE string,L_SHIPMODE string,L_SHIPINSTRUCT string,L_RETURNFLAG string,L_RECEIPTDATE string,L_ORDERKEY string,L_PARTKEY string,L_SUPPKEY   string,L_LINENUMBER int,L_QUANTITY double,L_EXTENDEDPRICE double,L_DISCOUNT double,L_TAX double,L_LINESTATUS string,L_COMMITDATE string,L_COMMENT  string) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES ('table_blocksize'='128','NO_INVERTED_INDEX'='L_SHIPDATE,L_SHIPMODE,L_SHIPINSTRUCT,L_RETURNFLAG,L_RECEIPTDATE,L_ORDERKEY,L_PARTKEY,L_SUPPKEY','sort_columns'='');
2. Run load queries and create pre-agg table queries in diff console:
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem3 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT');

create datamap agr_lineitem3 ON TABLE lineitem3 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select L_RETURNFLAG,L_LINESTATUS,sum(L_QUANTITY),sum(L_EXTENDEDPRICE) from lineitem3 group by  L_RETURNFLAG, L_LINESTATUS;

3.  Check table content using aggregate query:
select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;

0: jdbc:hive2://10.18.98.34:23040> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;
+---------------+---------------+------------------+-----------------------+--+
| l_returnflag  | l_linestatus  | sum(l_quantity)  | sum(l_extendedprice)  |
+---------------+---------------+------------------+-----------------------+--+
+---------------+---------------+------------------+-----------------------+--+
No rows selected (1.258 seconds)


HDFS data:
BLR1000014307:/srv/spark2.2Bigdata/install/hadoop/datanode # bin/hadoop fs -ls /carbonstore/default/lineitem3_agr_lineitem3/Fact/Part0/Segment_0
BLR1000014307:/srv/spark2.2Bigdata/install/hadoop/datanode # bin/hadoop fs -ls /carbonstore/default/lineitem3/Fact/Part0/Segment_0
Found 27 items
-rw-r--r--   2 root users      22148 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/1510740293106.carbonindexmerge
-rw-r--r--   2 root users   58353052 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-0-0_batchno0-0-1510740300247.carbondata
-rw-r--r--   2 root users   58351680 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-0-0_batchno1-0-1510740300247.carbondata
-rw-r--r--   2 root users   58364823 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-0-1_batchno0-0-1510740300247.carbondata
-rw-r--r--   2 root users   58356303 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-0-2_batchno0-0-1510740300247.carbondata
-rw-r--r--   2 root users   58342246 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-1-0_batchno0-0-1510740300247.carbondata
-rw-r--r--   2 root users   58353186 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-1-0_batchno1-0-1510740300247.carbondata
-rw-r--r--   2 root users   58352964 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-1-1_batchno0-0-1510740300247.carbondata
-rw-r--r--   2 root users   58357183 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-1-2_batchno0-0-1510740300247.carbondata
-rw-r--r--   2 root users   58345739 2017-11-15 18:05 /carbonstore/default/lineitem3/Fact/Part0/Segment_0/part-2-0_batchno0-0-1510740300247.carbondata

Yarn job stages:
29
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem3 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT')
collect at CommonUtil.scala:858 +details 2017/11/15 18:10:51 0.1 s
1/1
28
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem3 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT')
collect at CarbonDataRDDFactory.scala:918 +details 2017/11/15 18:10:50 1 s
3/3 10.8 KB
27
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem3 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT')
onEvent at OperationListenerBus.java:116 +details 2017/11/15 18:10:40 10 s
30/30 189.1 MB 10.8 KB
26
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem3 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT')
collect at CommonUtil.scala:858 +details 2017/11/15 18:10:34 0.4 s
1/1
25
load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem3 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT')
collect at CarbonDataRDDFactory.scala:1006



>  Carbon1.3.0-Pre-AggregateTable -Query from segment set is not effective when pre-aggregate table is present
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: CARBONDATA-1736
>                 URL: https://issues.apache.org/jira/browse/CARBONDATA-1736
>             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
>
>
> 1. Create a table
> create table if not exists lineitem1(L_SHIPDATE string,L_SHIPMODE string,L_SHIPINSTRUCT string,L_RETURNFLAG string,L_RECEIPTDATE string,L_ORDERKEY string,L_PARTKEY string,L_SUPPKEY   string,L_LINENUMBER int,L_QUANTITY double,L_EXTENDEDPRICE double,L_DISCOUNT double,L_TAX double,L_LINESTATUS string,L_COMMITDATE string,L_COMMENT  string) STORED BY 'org.apache.carbondata.format' TBLPROPERTIES ('table_blocksize'='128','NO_INVERTED_INDEX'='L_SHIPDATE,L_SHIPMODE,L_SHIPINSTRUCT,L_RETURNFLAG,L_RECEIPTDATE,L_ORDERKEY,L_PARTKEY,L_SUPPKEY','sort_columns'='');
> 2. Run load :
> load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem1 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT');
> 3. create pre-agg table
> create datamap agr_lineitem3 ON TABLE lineitem3 USING "org.apache.carbondata.datamap.AggregateDataMapHandler" as select L_RETURNFLAG,L_LINESTATUS,sum(L_QUANTITY),sum(L_EXTENDEDPRICE) from lineitem3 group by  L_RETURNFLAG, L_LINESTATUS;
> 3.  Check table content using aggregate query:
> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;
> +---------------+---------------+------------------+------------------------+--+
> | l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
> +---------------+---------------+------------------+------------------------+--+
> | N             | F             | 4913382.0        | 7.369901176949993E9    |
> | A             | F             | 1.88818373E8     | 2.8310705145736383E11  |
> | N             | O             | 3.82400594E8     | 5.734650756707479E11   |
> | R             | F             | 1.88960009E8     | 2.833523780876951E11   |
> +---------------+---------------+------------------+------------------------+--+
> 4 rows selected (1.568 seconds)
> 4. Load one more time:
> load data inpath "hdfs://hacluster/user/test/lineitem.tbl.1" into table lineitem1 options('DELIMITER'='|','FILEHEADER'='L_ORDERKEY,L_PARTKEY,L_SUPPKEY,L_LINENUMBER,L_QUANTITY,L_EXTENDEDPRICE,L_DISCOUNT,L_TAX,L_RETURNFLAG,L_LINESTATUS,L_SHIPDATE,L_COMMITDATE,L_RECEIPTDATE,L_SHIPINSTRUCT,L_SHIPMODE,L_COMMENT');
> 5.  Check table content using aggregate query:
> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;
> +---------------+---------------+------------------+------------------------+--+
> | l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
> +---------------+---------------+------------------+------------------------+--+
> | N             | F             | 9826764.0        | 1.4739802353899986E10  |
> | A             | F             | 3.77636746E8     | 5.662141029147278E11   |
> | N             | O             | 7.64801188E8     | 1.1469301513414958E12  |
> | R             | F             | 3.77920018E8     | 5.667047561753901E11   |
> +---------------+---------------+------------------+------------------------+--+
> 6. Set query from segment 1:
> 0: jdbc:hive2://10.18.98.48:23040> set carbon.input.segments.test_db1.lilneitem1=1;
> +--------------------------------------------+--------+--+
> |                    key                     | value  |
> +--------------------------------------------+--------+--+
> | carbon.input.segments.test_db1.lilneitem1  | 1      |
> +--------------------------------------------+--------+--+
> 7. Check table content using aggregate query:
> select l_returnflag,l_linestatus,sum(l_quantity),sum(l_extendedprice) from lineitem3 group by l_returnflag, l_linestatus;
> *+Expected+*: It should return the values from segment 1 alone.
> *+Actual :+* : It returns values from both segments
> +---------------+---------------+------------------+------------------------+--+
> | l_returnflag  | l_linestatus  | sum(l_quantity)  |  sum(l_extendedprice)  |
> +---------------+---------------+------------------+------------------------+--+
> | N             | F             | 9826764.0        | 1.4739802353899986E10  |
> | A             | F             | 3.77636746E8     | 5.662141029147278E11   |
> | N             | O             | 7.64801188E8     | 1.1469301513414958E12  |
> | R             | F             | 3.77920018E8     | 5.667047561753901E11   |
> +---------------+---------------+------------------+------------------------+--+



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