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]