InvisibleProgrammer commented on PR #3986:
URL: https://github.com/apache/hive/pull/3986#issuecomment-1425914548

   @deniskuzZ , @kasakrisz : 
   
   I was able to reproduce it on a dev cluster and validated the change with 
manual testing.
   
   Selects for the operator changes:
   ```sql
   select count(*) from tbl_import where L_DISCOUNT = 0.0;
   
   SELECT l_discount FROM tbl_import GROUP BY l_discount ORDER BY l_discount 
LIMIT 3;
   ```
   
   Preparation steps: 
   ```sql
   drop table if exists lineitem_text;
   
   create external table lineitem_text
   (L_ORDERKEY BIGINT,
    L_PARTKEY BIGINT,
    L_SUPPKEY BIGINT,
    L_LINENUMBER INT,
    L_QUANTITY DOUBLE,
    L_EXTENDEDPRICE DOUBLE,
    L_DISCOUNT DOUBLE,
    L_TAX DOUBLE,
    L_RETURNFLAG STRING,
    L_LINESTATUS STRING,
    L_SHIPDATE STRING,
    L_COMMITDATE STRING,
    L_RECEIPTDATE STRING,
    L_SHIPINSTRUCT STRING,
    L_SHIPMODE STRING,
    L_COMMENT STRING)
   ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE
   LOCATION 's3a:/wonttell;
   
   drop table if exists lineitem_acid;
   
   create table lineitem_acid
   (L_ORDERKEY BIGINT,
    L_PARTKEY BIGINT,
    L_SUPPKEY BIGINT,
    L_LINENUMBER INT,
    L_QUANTITY DOUBLE,
    L_EXTENDEDPRICE DOUBLE,
    L_DISCOUNT DOUBLE,
    L_TAX DOUBLE,
    L_RETURNFLAG STRING,
    L_LINESTATUS STRING,
    L_SHIPDATE STRING,
    L_COMMITDATE STRING,
    L_RECEIPTDATE STRING,
    L_SHIPINSTRUCT STRING,
    L_SHIPMODE STRING,
    L_COMMENT STRING)
   CLUSTERED BY (L_ORDERKEY) into 10 buckets
   STORED AS ORC TBLPROPERTIES('transactional'='true');
   
   INSERT INTO TABLE lineitem_acid
   SELECT * FROM lineitem_text;
   
   
   create external table lineitem_copy
   (L_ORDERKEY BIGINT,
    L_PARTKEY BIGINT,
    L_SUPPKEY BIGINT,
    L_LINENUMBER INT,
    L_QUANTITY DOUBLE,
    L_EXTENDEDPRICE DOUBLE,
    L_DISCOUNT DOUBLE,
    L_TAX DOUBLE,
    L_RETURNFLAG STRING,
    L_LINESTATUS STRING,
    L_SHIPDATE STRING,
    L_COMMITDATE STRING,
    L_RECEIPTDATE STRING,
    L_SHIPINSTRUCT STRING,
    L_SHIPMODE STRING,
    L_COMMENT STRING);
   
   INSERT INTO TABLE lineitem_copy
   SELECT * FROM lineitem_text;
   
   ALTER TABLE lineitem_copy
   REPLACE COLUMNS (L_ORDERKEY BIGINT, L_PARTKEY BIGINT, L_SUPPKEY BIGINT, 
L_LINENUMBER INT, L_QUANTITY DOUBLE, L_EXTENDEDPRICE DOUBLE, L_DISCOUNT DOUBLE, 
L_TAX DOUBLE);
   
   create table lineitem_acid_copy
   (L_ORDERKEY BIGINT,
    L_PARTKEY BIGINT,
    L_SUPPKEY BIGINT,
    L_LINENUMBER INT,
    L_QUANTITY DOUBLE,
    L_EXTENDEDPRICE DOUBLE,
    L_DISCOUNT DOUBLE,
    L_TAX DOUBLE)
    CLUSTERED BY (L_ORDERKEY) into 10 buckets
    STORED AS ORC TBLPROPERTIES('transactional'='true');
   
   INSERT INTO TABLE lineitem_acid_copy
   SELECT * FROM lineitem_copy;
    
   
   
   drop table if exists tbl_export;
   
   create table tbl_export (L_ORDERKEY BIGINT, L_PARTKEY BIGINT, L_SUPPKEY 
BIGINT, L_LINENUMBER INT, L_QUANTITY DOUBLE, L_EXTENDEDPRICE DOUBLE, L_DISCOUNT 
DOUBLE) partitioned by (L_TAX DOUBLE) clustered by (L_ORDERKEY) into 10 buckets;
   
   insert into table tbl_export partition (L_TAX) select * from 
lineitem_acid_copy;
   
   
   drop table if exists tbl_import;
   
   
   create table tbl_import (L_ORDERKEY BIGINT, L_PARTKEY BIGINT, L_SUPPKEY 
BIGINT, L_LINENUMBER INT, L_QUANTITY DOUBLE, L_EXTENDEDPRICE DOUBLE, L_DISCOUNT 
DOUBLE) partitioned by (L_TAX DOUBLE) clustered by (L_ORDERKEY) into 10 buckets;
   
   
   EXPORT TABLE tbl_export to '!!EXPORT_DIR!!/tmp/exportDir';
   
   IMPORT TABLE tbl_import FROM '!!EXPORT_DIR!!/tmp/exportDir';
   
   analyze table tbl_import compute statistics;
   
   select count(*) from tbl_import;
   
   delete from tbl_import where L_TAX = 0.0 and L_DISCOUNT = 0.0;
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to