我理解: 对于print,map 等无状态操作,不存储数据。 对于window 这种有状态操作,只存储窗口内的数据。 对于groupby 这种有状态操作,随着key越多,存储的数据越多,默认不清理,可以配置清理策略。
------- 我的数据是接的kafka数据源,接到数据后注册成表,我想知道通过这种方式创建的表,表里的数据会一直追加吗? 是否会一直存在导致占用内存越来越大的问题???如何清理过期数据??? 注册表代码如下: //获取订单回调kafka数据 DataStreamSource<String&gt; dataStreamSource = KafkaConfigUtil.buildKafka(env).setParallelism(1); //订单数据展开成所需数据格式 SingleOutputStreamOperator<OrderDetail&gt; orderDetails = dataStreamSource.flatMap(new OrderSplitService()) .setParallelism(parameterTool.getInt(STREAM_PARALLELISM, 5)); //过滤 SingleOutputStreamOperator<OrderDetail&gt; simpleResults = orderDetails.flatMap(new OrderDetailFilterService()) .setParallelism(parameterTool.getInt(STREAM_PARALLELISM, 5)); Table orderDetailTable = tableEnv.fromDataStream(simpleResults, $("orderNo"), $("memberId"),$("merchantId"),$("storeId"),$("internalId"),$("type"), $("quantity"),$("unitPrice"),$("gmtPaidLong"),$("gmtPaid"),$("gmtPaidTimeStamp"),$("userActionTime").proctime());注册后的表内数据,试过打印,但是每次接到一次kafka只会打印一条数据。后续还需要用这个表的数据做滑动窗口。 </quote> -- Sent from: http://apache-flink.147419.n8.nabble.com/