You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Rui Wang (Jira)" <ji...@apache.org> on 2019/08/21 03:57:00 UTC
[jira] [Created] (CALCITE-3272) TUMBLE Table Value Function
Rui Wang created CALCITE-3272:
---------------------------------
Summary: TUMBLE Table Value Function
Key: CALCITE-3272
URL: https://issues.apache.org/jira/browse/CALCITE-3272
Project: Calcite
Issue Type: Sub-task
Reporter: Rui Wang
Define a builtin TVF: Tumble (data , timecol , dur, [ offset ])
The return value of Tumble is a relation that includes all columns of data as well as additional event time columns wstart and wend.
Examples of TUMBLE TVF are (from https://s.apache.org/streaming-beam-sql):
8:21> SELECT * FROM Bid;
--------------------------
| bidtime | price | item |
--------------------------
| 8:07 | $2 | A |
| 8:11 | $3 | B |
| 8:05 | $4 | C |
| 8:09 | $5 | D |
| 8:13 | $1 | E |
| 8:17 | $6 | F |
--------------------------
8:21> SELECT *
FROM Tumble (
data => TABLE Bid ,
timecol => DESCRIPTOR ( bidtime ) ,
dur => INTERVAL '10' MINUTES ,
offset => INTERVAL '0' MINUTES );
------------------------------------------
| wstart | wend | bidtime | price | item |
------------------------------------------
| 8:00 | 8:10 | 8:07 | $2 | A |
| 8:10 | 8:20 | 8:11 | $3 | B |
| 8:00 | 8:10 | 8:05 | $4 | C |
| 8:00 | 8:10 | 8:09 | $5 | D |
| 8:10 | 8:20 | 8:13 | $1 | E |
| 8:10 | 8:20 | 8:17 | $6 | F |
------------------------------------------
8:21> SELECT MAX ( wstart ) , wend , SUM ( price )
FROM Tumble (
data => TABLE ( Bid ) ,
timecol => DESCRIPTOR ( bidtime ) ,
dur => INTERVAL '10 ' MINUTES )
GROUP BY wend;
-------------------------
| wstart | wend | price |
-------------------------
| 8:00 | 8:10 | $11 |
| 8:10 | 8:20 | $10 |
-------------------------
--
This message was sent by Atlassian Jira
(v8.3.2#803003)