This is an automated email from the ASF dual-hosted git repository. duhengforever pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/rocketmq-streams.git
commit 5555b67eba44b45356a53082ec8b7b496b5fbf9e Author: 刈刀 <[email protected]> AuthorDate: Mon Aug 2 12:48:41 2021 +0800 modify the README.md --- README.md | 30 ++++++++++++++++-------------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 649319c..92a9b2f 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ StreamBuilder 用于构建流任务的源; 内部包含```dataStream()```和`` ## DataStream API ### Source + DataStreamSource 是分段式编程的源头类,用于对接各种数据源, 从各大消息队列中获取数据; + ```fromFile``` 从文件中读取数据, 该方法包含俩个参数 @@ -56,13 +57,15 @@ DataStreamSource 是分段式编程的源头类,用于对接各种数据源, + ```groupName``` 消费者组的名称,必填参数 + ```isJson``` 是否json格式,非必填参数 + ```tags``` rocketmq消费的tags值,用于过滤消息,非必填参数 - + + ```from``` 自定义的数据源, 通过实现ISource接口实现自己的数据源 ### transform + transform 允许在流计算过程中对输入源的数据进行修改,进行下一步的操作;DataStream API中包括```DataStream```,```JoinStream```, ```SplitStream```,```WindowStream```等多个transform类; #### DataStream + DataStream实现了一系列常见的流计算算子 + ```map``` 通过将源的每个记录传递给函数func来返回一个新的DataStream @@ -76,30 +79,29 @@ DataStream实现了一系列常见的流计算算子 + ```toFile``` 将结果保存为文件,生成一个新的DataStreamAction实例 + ```toDB``` 将结果保存到数据库 + ```toRocketmq``` 将结果输出到rocketmq -+ ```toSls``` 将结果输出到sls + ```to``` 将结果经过自定义的ISink接口输出到指定的存储 + ```window``` 在窗口内进行相关的统计分析,一般会与```groupBy```连用, ```window()```用来定义窗口的大小, ```groupBy()```用来定义统计分析的主key,可以指定多个 - + ```count``` 在窗口内计数 - + ```min``` 获取窗口内统计值的最小值 - + ```max``` 获取窗口内统计值得最大值 - + ```avg``` 获取窗口内统计值的平均值 - + ```sum``` 获取窗口内统计值的加和值 - + ```reduce``` 在窗口内进行自定义的汇总运算 + + ```count``` 在窗口内计数 + + ```min``` 获取窗口内统计值的最小值 + + ```max``` 获取窗口内统计值得最大值 + + ```avg``` 获取窗口内统计值的平均值 + + ```sum``` 获取窗口内统计值的加和值 + + ```reduce``` 在窗口内进行自定义的汇总运算 + ```join``` 根据条件将将俩个流进行关联, 合并为一个大流进行相关的运算 + ```union``` 将俩个流进行合并 + ```split``` 将一个数据流按照标签进行拆分,分为不同的数据流供下游进行分析计算 + ```with``` with算子用来指定计算过程中的相关策略,包括checkpoint的存储策略,state的存储策略等 +# Strategy -# Strategy 策略机制主要用来控制计算引擎运行过程中的底层逻辑,如checkpoint,state的存储方式等,后续还会增加对窗口、双流join等的控制;所有的控制策略通过```with```算子传入,可以同时传入多个策略类型; ```java //指定checkpoint的存储策略 source -.fromRocketmq("TSG_META_INFO", "") -.map(message -> message + "--") -.toPrint(1) -.with(CheckpointStrategy.db("jdbc:mysql://XXXXX:3306/XXXXX", "", "", 0L)) -.start(); + .fromRocketmq("TSG_META_INFO","") + .map(message->message+"--") + .toPrint(1) + .with(CheckpointStrategy.db("jdbc:mysql://XXXXX:3306/XXXXX","","",0L)) + .start(); ``` \ No newline at end of file
