MATLAB 帮助中心
本页采用了机器翻译。点击此处可查看最新英文版本。
设置事件流中的位置以开始处理事件
自 R2022b 起
此函数需要 Streaming Data Framework for MATLAB® Production Server™。
seek(esp,position)
seek(esp,position,Name=Value)
seek(esp,position) 设置开始使用处理器 esp 处理事件流的流位置。
esp
position
示例
seek(esp,position,Name=Value) 还指定了管理数据缓存的选项。
Name=Value
全部折叠
假设您有一个在网络地址 kafka.host.com:9092 上运行的 Kafka® 服务器,该服务器有一个主题 RecamanSequence。
kafka.host.com:9092
RecamanSequence
创建一个连接到 RecamanSequence 主题的 KafkaStream 对象。
KafkaStream
ks = kafkaStream("kafka.host.com",9092,"RecamanSequence");
假设您有一个有状态的流处理分析函数 recamanSum 和一个用于初始化每次迭代状态数据的函数 initRecamanSum。创建一个 EventStreamProcessor 对象,运行 recamanSum 函数并使用 initRecamanSum 函数初始化第一次迭代的状态数据。
recamanSum
initRecamanSum
EventStreamProcessor
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);
检查 recamanSum 函数的结果。
result = readtimetable(esp.OutputStream)
处理事件流的对象,指定为 EventStreamProcessor 对象。
"Beginning"
"End"
"Current"
事件流中的位置,指定为以下值之一。
"Beginning" - 事件流中第一个可用的事件
"End" - 事件流的结束,即流中最新事件之后的一个事件
"Current" - 刚刚经过流中的当前事件
示例: seek(esp,"Beginning") 将事件流位置移动到事件流中的第一个事件。
seek(esp,"Beginning")
数据类型: string
string
以 Name1=Value1,...,NameN=ValueN 的形式指定可选参量对组,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。
Name1=Value1,...,NameN=ValueN
Name
Value
示例: seek(esp,"Beginning",ClearState=true) 将读取位置移动到流中的第一个事件并清除持久数据状态。
seek(esp,"Beginning",ClearState=true)
ClearState
seek
调用 seek 函数后清除数据持久状态的标志,指定为逻辑标量。默认值是 EventStreamProcessor 属性 ResetStateOnSeek 的值。
ResetStateOnSeek
数据类型: logical
logical
PersistState
调用 seek 函数后流处理函数的每次迭代状态值,指定为任何有效的 MATLAB 数据类型。
如果流处理分析函数是有状态的,那么 PersistState 必须是与 esp 中设置的状态初始化函数返回的值相同类型的 MATLAB 值。如果流处理分析函数是无状态的,则不能指定 PersistState。
在 R2022b 中推出
eventStreamProcessor | seek | execute
eventStreamProcessor
execute
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处