主要内容

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

streamingDataCompiler

R2026b

将流处理函数打包成可部署的存档

自 R2022b 起

    此函数需要 Streaming Data Framework for MATLAB® Production Server™ 和 MATLAB Compiler SDK™。

    描述

    filePath = streamingDataCompiler(streamFcn,inStream,outStream) 创建一个 MATLAB Compiler SDK 工程文件,并打开 Production Server 存档编译器 (MATLAB Compiler SDK)。使用此 App 将流处理函数打包到 MATLAB Production Server 的可部署存档中。

    streamingDataCompiler 返回工程文件的完整路径。

    filePath = streamingDataCompiler(streamFcn,inStream,outStream,Name=Value) 设置用于打包函数的附加选项。

    例如,如果您指定 OutputType="Archive",则 streamingDataCompiler 函数将返回可部署的存档(CTF 文件)而不是工程文件。

    示例

    示例

    全部折叠

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

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

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

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

    创建另一个 KafkaStream 对象,将流处理分析函数的结果写入名为 RecamanSequenceResults 的不同主题。

    outks = kafkaStream("kafka.host.com",9092,"RecamanSequenceResults");

    将流处理分析函数 recamanSum 打包成可部署的存档。由于解析函数使用状态初始化函数 initRecamanSum,因此还指定 StateStore 属性作为输入参量。

    file = streamingDataCompiler(@recamanSum,ks,outKS, ...
        StateStore="KVStore",InitialState=@initRecamanSum)
    file = 
    
        "J:\recamanSum.prj"

    package 函数根据 eventStreamProcessor 对象生成 MATLAB 工程文件,返回该文件的路径,并使用 Production Server 存档编译器 (MATLAB Compiler SDK)打开该工程文件。Production Server 存档编译器任务包含以下值:

    • 流处理分析函数 recamanSum.m

    • 入口点函数,streamfcn.m

    • 可部署存档,RecamanSum.ctf

    有关使用 Production Server 存档编译器的详细信息,例如修改已部署函数列表或生成存档的名称,请参阅使用生产服务器存档编译器创建 MATLAB Production Server 存档 (MATLAB Compiler SDK) 。

    在 Production Server Compiler 中,点击 Package 生成可部署的存档。您可以将生成的存档部署到 MATLAB Production Server。有关部署到 MATLAB Production Server 的详细信息,请参阅将存档部署至 MATLAB Production Server。

    输入参数

    全部折叠

    一个或多个流分析函数句柄,指定为字符串、字符向量或字符向量元胞数组。编辑配置文件,指定要调用的流函数。您不能对来自同一存档的同一流调用多个流分析。为此,请使用多个存档和多个 Kafka 连接器。每个流函数都需要一个配置 MAT 文件。

    数据类型: string | char | cell

    流处理分析函数从中读取事件的事件流,指定为流连接器对象,例如 KafkaStream 或 TestStream。

    流处理分析函数从中读取事件的事件流,指定为流连接器对象,例如 KafkaStream 或 TestStream。不支持 InMemoryStream 对象。

    名称-值参数

    全部展开

    将可选参量对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参量名称,Value 是对应的值。名称-值参量必须出现在其他参量之后,但对各个参量对组的顺序没有要求。

    示例: streamingDataCompiler(streamFcn,inStream,outStream,OutputFolder='J:\')

    编译配置选项

    全部展开

    生成的可部署存档的名称,指定为字符串或字符向量。

    数据类型: char | string

    由 streamingDataCompiler 函数创建的文件类型,指定为以下值之一。

    • Project - 创建 productionServerCompiler 工程文件并启动 Production Server 存档编译器。您可以使用 Production Server 存档编译器创建 CTF 文件。

    • Archive - 创建一个 CTF 文件。

    • Startup - 创建以下文件: (自 R2026a 起)

      • runStream.ctf - CTF 文件

      • kafka-connector-start - 用于启动 Kafka 连接器的脚本

      • kafka-connector-stop - 用于停止 Kafka 连接器的脚本

      • collector.properties - 配置 Kafka 连接器

      • kafka.properties - 配置 Kafka 客户端

      • rdkafkaLog.properties - 配置写入 Kafka 时的日志记录

      • log4j.properties.template - 配置 Kafka 连接器日志记录

      • kafka-connector-jart-with-dependencies.jar - Kafka 连接器

    数据类型: char | string

    要包含在生成的存档中的附加文件,对于单个文件指定为字符向量或字符串标量,对于多个文件指定为字符串数组。

    示例: ExtraFiles=["data.mat","/schema/registry/schema.json"] 在生成的可部署存档中包含文件 data.mat 和 schema.json。

    数据类型: char | string

    生成文件的位置,指定为字符串或字符向量。

    示例: OutputFolder='J:\' 将生成的文件保存在 J:\ 中。

    数据类型: string | char

    标志自动在 MATLAB 中打开工程,指定为逻辑 true 或 false。此属性与 OutputType="Archive" 不兼容。

    数据类型: logical

    执行配置选项

    全部展开

    创建流分析函数初始状态的一个或多个函数,可以指定为函数句柄、字符串、字符向量或字符向量的元胞数组。如果只指定一个状态初始化函数,InitialState 将应用于所有流函数。否则,您必须为每个流函数指定一个状态初始化函数。

    数据类型: function_handle | char | string | cell

    持久存储连接名称,指定为字符串或字符向量。当使用 StateStore 或使用有状态流函数时,必须指定 InitialState。将部署存档的 MATLAB Production Server 实例必须知道该连接名称。有关使用数据缓存进行持久存储的详细信息,请参阅 数据缓存基础知识。

    数据类型: char | string

    标志用于使用具有相同键的事件来调用流处理函数,指定为逻辑 true 或 false。将此标志设置为 true 会将事件窗口拆分为具有同类键的子窗口,并每个子窗口调用一次流处理函数。

    数据类型: logical

    版本历史记录

    在 R2022b 中推出

    全部展开