Apache flink flink sql窗口api

Apache flink flink sql窗口api,apache-flink,flink-streaming,Apache Flink,Flink Streaming,我尝试使用flink sql窗口api: StreamExecutionEnvironment env=StreamExecutionEnvironment.getExecutionEnvironment(); StreamTableEnvironment tableEnv=TableEnvironment.getTableEnvironment(env); //从外部源摄取数据流 DataStream ds=env.addSource(…); //将数据流注册为表“Orders” table

我尝试使用flink sql窗口api:

StreamExecutionEnvironment env=StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tableEnv=TableEnvironment.getTableEnvironment(env);
//从外部源摄取数据流
DataStream ds=env.addSource(…);
//将数据流注册为表“Orders”
tableEnv.registerDataStream(“订单”、ds、“用户、产品、金额”);
//计算每天的总和(金额)(在事件时间内)
表result1=tableEnv.sql(
“选择用户,”+
翻滚开始(rowtime(),间隔“1”天)为wStart+
“订单金额”+
“按翻滚分组(rowtime(),间隔'1'天),用户”);
显示错误:

未找到函数签名行时间()的匹配项


请给我一个关于flink sql window api和rowtime.Thx的更详细的例子。

目前文档有点不同步,但社区正在另一个分支中对此进行研究。Flink 1.3引入了所谓的“时间属性”,以便在将来更明确地访问、表达和处理时间

您可以在中找到更多信息。可以找到一些如何在表格程序中使用时间属性的示例

StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tableEnv = TableEnvironment.getTableEnvironment(env);

// ingest a DataStream from an external source
DataStream<Tuple3<Long, String, Integer>> ds = env.addSource(...);
// register the DataStream as table "Orders"
tableEnv.registerDataStream("Orders", ds, "user, product, amount");

// compute SUM(amount) per day (in event-time)
Table result1 = tableEnv.sql(
  "SELECT user, " +
  "  TUMBLE_START(rowtime(), INTERVAL '1' DAY) as wStart,  " +
  "  SUM(amount) FROM Orders " + 
  "GROUP BY TUMBLE(rowtime(), INTERVAL '1' DAY), user");