我试图统计不同窗口大小的流中的数据(窗口的大小在steam数据中),所以我使用自定义的WindowAssigner和AggregateFunction,但状态很大(窗口大小从一小时到30天)
在我看来,聚合状态只是存储中间结果
有什么问题吗?
public class ElementProcessingTime extends WindowAssigner<Element, TimeWindow> {
@Override public Collection<TimeWindow> assignWindows(Element element, long times
火花RDD.persist(..)可以帮助避免重复的RDD评估。
Flink中也有相同的功能吗?
实际上,我想知道我的代码是否如下所示,Flink会评估dataStream一两次吗?
val dataStream = env.addSource(...).filter(...).flatMap(...)
val s1 = dataStream.keyBy(key1).timeWindow(...).aggregate(..)
val s2 = dataStream.keyBy(key2).timeWindow(...).reduce(...)
下面是第211页的文本。
“WindowAssigner为每个到达的元素确定它分配给哪个窗口。”
然后研究了的源代码。
public class TumblingEventTimeWindows extends WindowAssigner<Object, TimeWindow> {
private static final long serialVersionUID = 1L;
...............................
@Override
public Collection<TimeWindow> assign
TL;DR:是否存在与以下示例等效的类型安全?
import spark.implicits._
val words = ... // streaming DataSet of schema: case class Record(timestamp: Timestamp, word: String)
// Group the data by window and word and compute the count of each group
val windowedCounts = words
.withWatermark("timestamp", "10
我在试着创造一个能预约会议的机器人。为了做到这一点,我需要访问员工的日历来获取FreeBusy信息,以便最终预订一个会议。我试图避免硬编码的电子邮件和密码,为此,我想使用一个访问令牌从Azure AD呼叫EWS。我将属性设置为
public static ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2013);
使用这种方法:
public static async System.Threading.Tasks.Task UseExchangeService(IDialogContex
我正在尝试在Flink作业的窗口函数中使用HashMap。所有并行运算符的所有元素都可以存储在一个运算符的HashMap中吗?
public class SeewoUserWindowFunction implements WindowFunction<ObjectNode, LabelInfo, String, TimeWindow> {
private static final Logger logger = LoggerFactory.getLogger(SeewoUserWindowFunction.class);
@Override
public
为什么TumblingProcessingTimeWindows为每个到达的元素代码指定一个窗口,如下所示?例如,一个启动时间为1s和结束时间为5s的TimeWindow,那么时间之间的所有元素都需要一个窗口,但是从下面的代码中,每个元素都会得到一个新窗口,为什么呢?
public class TumblingProcessingTimeWindows extends WindowAssigner<Object, TimeWindow> {
@Override
public Collection<TimeWindow> assignWindows(Obj
我在解决Flink (1.11.0版)中的错误时遇到了问题:
java: no suitable method found for process(com.xyz.myPackage.operators.windowed.ComputeFeatures)
method org.apache.flink.streaming.api.datastream.WindowedStream.<R>process(org.apache.flink.streaming.api.functions.windowing.ProcessWindowFunction<com.xyz.myP
我使用以下代码来执行测试():
val text = env.socketTextStream("localhost", port, '\n')
// parse the data, group it, window it, and aggregate the counts
val windowCounts = text
.flatMap { w => w.split("\\s") }
.map { w => WordWithCount(w, 1) }
.keyBy(