Gopal V created HIVE-12808:
------------------------------
Summary: Logical PPD: Push filter clauses through PTF into TS
Key: HIVE-12808
URL: https://issues.apache.org/jira/browse/HIVE-12808
Project: Hive
Issue Type: Bug
Components: Logical Optimizer
Affects Versions: 1.2.1, 2.0.0
Reporter: Gopal V
Simplified repro case, with the slow query showing the push-down miss.
And the manually rewritten query to indicate the expected one.
Part of the problem could be the window range not being split apart for PPD,
but the FIL is not pushed down even if the rownum filter is removed.
{code}
create temporary table positions (regionid string, id bigint, deviceid string,
ts string);
insert into positions values('1d6a0be1-6366-4692-9597-ebd5cd0f01d1',
1422792010, '6c5d1a30-2331-448b-a726-a380d6b3a432', '2016-01-01'),
('1d6a0be1-6366-4692-9597-ebd5cd0f01d1', 1422792010,
'6c5d1a30-2331-448b-a726-a380d6b3a432', '2016-01-01'),
('1d6a0be1-6366-4692-9597-ebd5cd0f01d1', 1422792010,
'6c5d1a30-2331-448b-a726-a380d6b3a432', '2016-01-02'),
('1d6a0be1-6366-4692-9597-ebd5cd0f01d1', 1422792010,
'6c5d1a30-2331-448b-a726-a380d6b3a432', '2016-01-02');
-- slow query
WITH t1 AS
(
SELECT *,
Row_number() over ( PARTITION BY regionid, id, deviceid ORDER
BY ts DESC) AS rownos
FROM positions ),
latestposition as (
SELECT *
FROM t1
WHERE rownos = 1)
SELECT *
FROM latestposition
WHERE regionid='1d6a0be1-6366-4692-9597-ebd5cd0f01d1'
AND id=1422792010
AND deviceid='6c5d1a30-2331-448b-a726-a380d6b3a432';
-- fast query
WITH t1 AS
(
SELECT *,
Row_number() over ( PARTITION BY regionid, id, deviceid ORDER
BY ts DESC) AS rownos
FROM positions
WHERE regionid='1d6a0be1-6366-4692-9597-ebd5cd0f01d1'
AND id=1422792010
AND deviceid='6c5d1a30-2331-448b-a726-a380d6b3a432'
),latestposition as (
SELECT *
FROM t1
WHERE rownos = 1)
SELECT *
FROM latestposition
;
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)