bc Wong
10/25/2021, 10:23 PMAddTable. Loaded data from Oct 1 via ImportData.
2. Query select count(1) from tbl where ds = '2021-10-01' ran successfully.
3. Added REALTIME table via web ui. Kafka ingested a bunch of data for ds = '2021-10-03'. Query shows new data.
4. But the query from #2 now returns no row. I have to query against tbl_OFFLINE to see the offline records.
Many thanks!Xiang Fu
Xiang Fu
bc Wong
10/25/2021, 10:28 PMbc Wong
10/25/2021, 10:39 PMcreate_time, and the min(create_time) of the realtime table is greater than the max(create_time) of the offline table.
This looks like a bug, though I’d like someone to confirm:
-- 1633219200
select min(create_time)
from tbl_REALTIME
-- 0 (no rows)
select count(1)
from tbl
where create_time < 1633219200
-- 1414034
select count(1)
from tbl_OFFLINE
where create_time < 1633219200Xiang Fu
Xiang Fu
where create_time < time_boundary to your queryXiang Fu
Xiang Fu
bc Wong
10/25/2021, 11:15 PMpinot will appendThat should return something if Pinot queries the offline table. Right? My realtime data comes after the offline data with non-overlapping time ranges.to your querywhere create_time < time_boundary
so it will filter out the offline table data when you query with hybrid table nameCould you elaborate? The doc seems to suggest that the hybrid table query should expand into 2 queries with a merge. But that’s not happening. Many thanks again.
bc Wong
10/25/2021, 11:19 PMselect count(1) from tbl is excluding the data from the offline table. It almost looks like that Pinot doesn’t recognize the hybrid.Xiang Fu
2021-10-01, so the time boundary is 2021-10-01 . In hybrid mode, pinot append time predicate of ds < 2021-10-01 , so it will exclude data on date 2021-10-01 .Xiang Fu
2021-09-30 from offline tablebc Wong
10/26/2021, 4:14 AM-- 1633132799
select max(create_time)
from tbl_OFFLINE
-- 0 (no rows)
select count(1)
from tbl
where create_time < 1633132799
-- 1414034
select count(1)
from tbl_OFFLINE
where create_time < 1633132799Xiang Fu
Xiang Fu
Xiang Fu
select count(1)
from tbl_OFFLINE
where create_time < 1633132799 AND ds < '2021-10-01'
and
select count(1)
from tbl_REALTIME
where create_time < 1633132799 AND ds >= '2021-10-01'
Then merged the resultsXiang Fu
bc Wong
10/26/2021, 4:18 AMds field isn’t a time. The ts column is create_time. And if I run the first of your 2 queries manually, I get data back.bc Wong
10/26/2021, 4:18 AMselect count(1)
from tbl_OFFLINE
where create_time < 1633132799
// Returns count = 1414019Xiang Fu
Xiang Fu
pinot-broker:8099/debug/timeBoundary/tblXiang Fu
bc Wong
10/26/2021, 4:21 AM{
"timeColumn": "create_time",
"timeValue": "1633046399"
}bc Wong
10/26/2021, 4:23 AMXiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:24 AMXiang Fu
Xiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:25 AMXiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:26 AMXiang Fu
Xiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:27 AMXiang Fu
Xiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:29 AMXiang Fu
Xiang Fu
Xiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:31 AMXiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:44 AMmax(offline_ts) instead of max(offline_ts) - 1 day. Right?Xiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:52 AMmax(offline_ts) instead, wouldn’t that be strictly an improvement?Xiang Fu
Xiang Fu
Xiang Fu
Xiang Fu
bc Wong
10/26/2021, 4:54 AMXiang Fu