主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

execute

在特定数量的事件窗口上执行事件流处理函数

自 R2022b 起

    此函数需要 Streaming Data Framework for MATLAB® Production Server™

    说明

    execute(esp,n)esp 事件窗口上同步运行处理对象 nName 属性中指定的流处理函数。

    execute 函数从流的当前读取位置开始处理事件窗口。每个事件窗口都与前一个窗口相邻,窗口之间没有间隙。要改变整个序列的起始位置,请在调用 execute 之前调用 seek

    第一次调用 execute 从数据流中构造 esp 时的读取位置读取事件。在后续调用 execute 时,读取位置设置为 Current。要改变这种行为,请在 execute 之前调用 seek

    示例

    示例

    全部折叠

    假设您有一个在网络地址 kafka.host.com:9092 上运行的 Kafka® 服务器,该服务器有一个主题 RecamanSequence

    创建一个连接到 RecamanSequence 主题的对象。

    ks = kafkaStream("kafka.host.com", 9092, "RecamanSequence");

    假设您有一个流处理分析函数 recamanSum 和一个名为 initRecamanSum 的初始化持久状态的函数。

    创建一个运行 EventStreamProcessor 函数的 recamanSum 对象,并使用 initRecamanSum 函数初始化持久状态。

    esp = eventStreamProcessor(ks,@recamanSum, @initRecamanSum);
    esp = 
    
      EventStreamProcessor with properties:
    
          StreamFunction: @recamanSum
             InputStream: [1×1 matlab.io.stream.event.KafkaStream]
            OutputStream: [1×1 matlab.io.stream.event.InMemoryStream]
            InitialState: @initRecamanSum
           GroupVariable: [0×0 string]
            ReadPosition: Beginning
             ArchiveName: "recamanSum"
        ResetStateOnSeek: 1

    对流处理分析函数进行十次迭代。

    execute(esp,10);

    将读取位置指示器移动到默认输出数据流的开头。

    seek(esp.OutputStream,"Beginning");

    检查结果。

    result = readtimetable(esp.OutputStream)

    输入参数

    全部折叠

    处理事件流的对象,指定为 EventStreamProcessor 对象。

    事件窗口的数量,指定为正整数。

    版本历史记录

    在 R2022b 中推出