http://www.muxuanli.com/lmx/
应用场景:统计每日会员注册走势【MongoDB-->MySQL】
从MongoDB读取注册用户的信息,处理,写入MySQL对应表中,用于统计注册的情况!!!
MySQL表 t_member_aggregation
CREATE TABLE `t_member_aggregation` (
`year` INT(11) NOT NULL COMMENT '年份',
`month` INT(11) NOT NULL COMMENT '月份',
`day` INT(11) NOT NULL COMMENT '日期',
`amount` BIGINT(20) NULL COMMENT '关注人数',
`aggregation_date` DATETIME NOT NULL,
PRIMARY KEY (`year`,`month`,`day`))
ENGINE = InnoDB
DEFAULT CHARSET = utf8;
字段: year month day amount aggregation_date
year month day 做主键, 同一天注册的 amount+1, aggregation_date纪录上一次统计的时间,每次统计的时间为 aggregation_date 到 系统当前时间。
INSERT INTO `t_member_aggregation` (`year`, `month`, `day`, `amount`, `aggregation_date`) VALUES (?,?,?,?,now()) ON DUPLICATE KEY UPDATE `amount` = `amount` + 1, `aggregation_date` = now();
<!-- Member Data : from Mongo to MySQL 关注用户统计 -->
<bean id="memberQuery" class="com.newjetsoft.genen.batch.util.QueryFactory">
<property name="tableName" value="t_member_aggregation"></property>
<property name="jdbcTemplateAggregation" ref="jdbcTemplateAggregation"></property>
</bean>
<bean id="memberInfoResultItemReader"
class="org.springframework.batch.item.data.MongoItemReader"
scope="step">
<property name="template" ref="mongoUicTemplate"/>
<property name="collection" value="Member"/>
<property name="targetType" value="com.newjetsoft.genen.batch.aggregation.member.MemberInfoResult" />
<property name="query" ref="memberQuery"/>
<property name="sort">
<util:map id="sort">
<entry key="id" value="ASC"/>
</util:map>
</property>
</bean>
<bean id="memberInfoResultItemProcessor"
class="com.newjetsoft.genen.batch.aggregation.member.MemberInfoResultItemProcessor" />
<bean id="memberInfoResultItemWriter"
class="org.springframework.batch.item.database.JdbcBatchItemWriter"
scope="step">
<property name="dataSource" ref="dataSourceAggregation"/>
<property name="sql">
<value>
<![CDATA[
INSERT INTO `t_member_aggregation` (`year`, `month`, `day`, `amount`, `aggregation_date`)
VALUES (?,?,?,?,now()) ON DUPLICATE KEY UPDATE `amount` = `amount` + 1, `aggregation_date` = now();
]]>
</value>
</property>
<property name="ItemPreparedStatementSetter">
<bean class="com.newjetsoft.genen.batch.aggregation.member.UpdateMemberInfoPreparedStatementSetter"/>
</property>
</bean>
链接:
https://pan.baidu.com/s/1gfLxV0n
分享到:
相关推荐
Spring Batch 实例代码
最近在研究springBoot+springbatch ,按照官网的实例做了一个实例。 最近在研究springBoot+springbatch ,按照官网的实例做了一个实例。
SpringBatch 示例小程序源码(内含依赖的jar包) 本示例程序 使用 Spring 3 + Spring Batch 2.2.7
一个SpringBatch的入门案例,SpringBatch是spring体系下的一个轻量级的批处理框架,使用简单方便,是非常优秀的一个批处理框架。如果你的工作中涉及到了批处理作业,可以考虑使用SpringBatch框架,本案例有详细的...
spring batch3.x中文文档:http://www.kailing.pub/SpringBatchReference spring batch官方入门实例:https://projects.spring.io/spring-batch/ 简单的任务操作实现,当前项目只是一个demo,我也是初学,目前启动...
Spring Batch 参考文档中文版。里面有实例。与官网内容略微不同。
常见的几种SpringBatch运行的成功案例,本人亲测,绝对可靠!你值得拥有
Spring+Batch+Learning实例
Spring Batch流程介绍: 每个Batch都会包含一个Job。Job就像一个容器,这个容器里装了若干Step,Batch中实际干活的也就是这些Step,至于Step干什么活,无外乎读取数据,处理数据,然后将这些数据存储起来...
每个Batch都会包含一个Job。Job就像一个容器,这个容器里装了若干Step,Batch中实际干活的也...JobLaunch用来启动Job,JobRepository是上述处理提供的一种持久化机制,它为JobLauncher,Job,和Step实例提供CRUD操作。
主要实现批量数据的处理,我对batch进行的封装,提出了jobBase类型,具体job需要实现它即可。这篇文章主要介绍了springbatch的封装与使用 ,需要的朋友可以参考下
Spring批Lightmin 目录启用客户端指标启用服务器指标通过执行器公开指标修改Lighmin指标格拉法纳仪表板服务器用户界面应用领域应用程序实例仪表板批处理作业批处理作业执行工作执行作业调度器求职者工作启动器工作...
??课程介绍:???????...本系列视频教程结合具体案例详细讲解了SpringBatch实现批处理的方式,包括Job,Flow,决策器,监听器,ItemReader,ItemWriter,ItemProcessor,JobLauncher,JobOperator。
PartitionSpringBatch_DataLose_Poc_BATCH-2309 这个项目是一个关于 Spring Batch 框架的 Partitioner 组件的案例研究。 本研究比较了使用 Partitioner 资源的两种不同方式:org.springframework.batch.item....
GKE上的Spring Batch Spring Batch Job在GKE上运行 描述 Spring批处理模型 工作 它是一个封装整个批处理过程的实体 它只是Step实例的容器 它组合了逻辑上属于流程的多个步骤,并允许配置所有步骤全局的属性 步它是...
spring webflow
该项目将两个主要示例组合在一起,显示了如何使用spring batch来生产平面文件。 此处配置的作业将读取一个csv文件(sample-data.csv),将每一行转换为大写文本,然后将其写回到文件中。 这个想法是为了显示困扰我的...
2017 spring data jpa+spring4.2.8+springmvc+hibernate4.3.6 maven环境intellij idea 实现的增删改查实例(具体简洁详细,只要改换下数据库就可以直接运行了,每一个配置都有,适合初学者参考)
Spring网络健康检查简单的PoC项目,使用Spring Boot,Maven 3,Spring Batch和。 健康检查和指标也有两种实现。用法下载仓库与mvn package一起mvn package 并使用java -jar target/spring-web-healthcheck-0.0.1-...