当前位置: 首页 > news >正文

淮安网站建设制作辅导班广告去哪个网站做

淮安网站建设制作,辅导班广告去哪个网站做,建设网站的功能定位是什么原因,十大应用商店app目录 引言 概念 分区器 分区处理器 案例 转视频版 引言 接着上篇#xff1a;Spring Batch 高级篇-并行步骤了解Spring Batch并行步骤后#xff0c;接下来一起学习一下Spring Batch 高级功能-分区步骤 概念 分区#xff1a;有划分#xff0c;区分意思#xff0c;在…目录 引言 概念 分区器 分区处理器 案例 转视频版 引言 接着上篇Spring Batch 高级篇-并行步骤了解Spring Batch并行步骤后接下来一起学习一下Spring Batch 高级功能-分区步骤 概念 分区有划分区分意思在SpringBatch 分区步骤讲的是给执行步骤区分上下级。 上级 主步骤(Master Step) 下级 从步骤--工作步骤(Work Step) 主步骤是领导不用干活负责管理从步骤从步骤是下属必须干活。 一个主步骤下辖管理多个从步骤。 注意 从步骤不管多小它也一个完整的Spring Batch 步骤负责各自的读入、处理、写入等。 分区步骤结构图 分区步骤一般用于海量数据的处理上其采用是分治思想。主步骤将大的数据划分多个小的数据集然后开启多个从步骤要求每个从步骤负责一个数据集。当所有从步骤处理结束整作业流程才算结束。 分区器 主步骤核心组件负责数据分区将完整的数据拆解成多个数据集然后指派给从步骤让其执行。 拆分规则由Partitioner分区器接口定制默认的实现类MultiResourcePartitioner public interface Partitioner {MapString, ExecutionContext partition(int gridSize); } Partitioner 接口只有唯一的方法partition 参数gridSize表示要分区的大小可以理解为要开启多个worker步骤返回值是一个Map 其中keyworker步骤名称 valueworker步骤启动需要参数值一般包含分区元数据比如起始位置数据量等。 分区处理器 主步骤核心组件统一管理work 步骤 并给work步骤指派任务。 管理规则由PartitionHandler 接口定义默认的实现类TaskExecutorPartitionHandler 案例 需求下面几个文件将数据读入内存 步骤1准备数据 user1-10.txt 1#dafei#18 2#dafei#18 3#dafei#18 4#dafei#18 5#dafei#18 6#dafei#18 7#dafei#18 8#dafei#18 9#dafei#18 10#dafei#18 user11-20.txt 11#dafei#18 12#dafei#18 13#dafei#18 14#dafei#18 15#dafei#18 16#dafei#18 17#dafei#18 18#dafei#18 19#dafei#18 20#dafei#18 user21-30.txt 21#dafei#18 22#dafei#18 23#dafei#18 24#dafei#18 25#dafei#18 26#dafei#18 27#dafei#18 28#dafei#18 29#dafei#18 30#dafei#18 user31-40.txt 31#dafei#18 32#dafei#18 33#dafei#18 34#dafei#18 35#dafei#18 36#dafei#18 37#dafei#18 38#dafei#18 39#dafei#18 40#dafei#18 user41-50.txt 41#dafei#18 42#dafei#18 43#dafei#18 44#dafei#18 45#dafei#18 46#dafei#18 47#dafei#18 48#dafei#18 49#dafei#18 50#dafei#18 步骤2准备实体类 Getter Setter ToString public class User {private Long id;private String name;private int age; } 步骤3配置分区逻辑 public class UserPartitioner implements Partitioner {Overridepublic MapString, ExecutionContext partition(int gridSize) {MapString, ExecutionContext result new HashMap(gridSize);int range 10; //文件间隔int start 1; //开始位置int end 10; //结束位置String text user%s-%s.txt;for (int i 0; i gridSize; i) {ExecutionContext value new ExecutionContext();Resource resource new ClassPathResource(String.format(text, start, end));try {value.putString(file, resource.getURL().toExternalForm());} catch (IOException e) {e.printStackTrace();}start range;end range;result.put(user_partition_ i, value);}return result;} } 步骤4全部代码 package com.langfeiyes.batch._37_step_part;import org.springframework.batch.core.Job; import org.springframework.batch.core.Step; import org.springframework.batch.core.configuration.annotation.EnableBatchProcessing; import org.springframework.batch.core.configuration.annotation.JobBuilderFactory; import org.springframework.batch.core.configuration.annotation.StepBuilderFactory; import org.springframework.batch.core.configuration.annotation.StepScope; import org.springframework.batch.core.partition.PartitionHandler; import org.springframework.batch.core.partition.support.MultiResourcePartitioner; import org.springframework.batch.core.partition.support.TaskExecutorPartitionHandler; import org.springframework.batch.item.ExecutionContext; import org.springframework.batch.item.ItemWriter; import org.springframework.batch.item.file.FlatFileItemReader; import org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.annotation.Bean; import org.springframework.core.io.ClassPathResource; import org.springframework.core.io.Resource; import org.springframework.core.task.SimpleAsyncTaskExecutor;import java.util.List;SpringBootApplication EnableBatchProcessing public class PartStepJob {Autowiredprivate JobBuilderFactory jobBuilderFactory;Autowiredprivate StepBuilderFactory stepBuilderFactory;//每个分区文件读取BeanStepScopepublic FlatFileItemReaderUser flatItemReader(Value(#{stepExecutionContext[file]}) Resource resource){return new FlatFileItemReaderBuilderUser().name(userItemReader).resource(resource).delimited().delimiter(#).names(id, name, age).targetType(User.class).build();}Beanpublic ItemWriterUser itemWriter(){return new ItemWriterUser() {Overridepublic void write(List? extends User items) throws Exception {items.forEach(System.err::println);}};}//文件分区器-设置分区规则Beanpublic UserPartitioner userPartitioner(){return new UserPartitioner();}//文件分区处理器-处理分区Beanpublic PartitionHandler userPartitionHandler() {TaskExecutorPartitionHandler handler new TaskExecutorPartitionHandler();handler.setGridSize(5);handler.setTaskExecutor(new SimpleAsyncTaskExecutor());handler.setStep(workStep());try {handler.afterPropertiesSet();} catch (Exception e) {e.printStackTrace();}return handler;}//每个从分区操作步骤Beanpublic Step workStep() {return stepBuilderFactory.get(workStep).User, Userchunk(10).reader(flatItemReader(null)).writer(itemWriter()).build();}//主分区操作步骤Beanpublic Step masterStep() {return stepBuilderFactory.get(masterStep).partitioner(workStep().getName(),userPartitioner()).partitionHandler(userPartitionHandler()).build();}Beanpublic Job partJob(){return jobBuilderFactory.get(part-step-job).start(masterStep()).build();}public static void main(String[] args) {SpringApplication.run(PartStepJob.class, args);} }结果 User(id31, namedafei, age18) User(id32, namedafei, age18) User(id33, namedafei, age18) User(id34, namedafei, age18) User(id35, namedafei, age18) User(id36, namedafei, age18) User(id37, namedafei, age18) User(id38, namedafei, age18) User(id39, namedafei, age18) User(id40, namedafei, age18) User(id41, namedafei, age18) User(id42, namedafei, age18) User(id43, namedafei, age18) User(id44, namedafei, age18) User(id45, namedafei, age18) User(id46, namedafei, age18) User(id47, namedafei, age18) User(id48, namedafei, age18) User(id49, namedafei, age18) User(id50, namedafei, age18) User(id21, namedafei, age18) User(id22, namedafei, age18) User(id23, namedafei, age18) User(id24, namedafei, age18) User(id25, namedafei, age18) User(id26, namedafei, age18) User(id27, namedafei, age18) User(id28, namedafei, age18) User(id29, namedafei, age18) User(id30, namedafei, age18) User(id1, namedafei, age18) User(id2, namedafei, age18) User(id3, namedafei, age18) User(id4, namedafei, age18) User(id5, namedafei, age18) User(id6, namedafei, age18) User(id7, namedafei, age18) User(id8, namedafei, age18) User(id9, namedafei, age18) User(id10, namedafei, age18) User(id11, namedafei, age18) User(id12, namedafei, age18) User(id13, namedafei, age18) User(id14, namedafei, age18) User(id15, namedafei, age18) User(id16, namedafei, age18) User(id17, namedafei, age18) User(id18, namedafei, age18) User(id19, namedafei, age18) User(id20, namedafei, age18) 解析核心点 1文件分区器userPartitioner() 分别加载5个文件进入到程序 2文件分区处理器userPartitionHandler() 指定要分几个区由谁来处理 3分区从步骤workStep() 指定读逻辑与写逻辑 4分区文件读取flatItemReader()需要传入Resource对象这个对象在userPartitioner()已经标记为file 5分区主步骤masterStep() 指定分区名称与分区器指定分区处理器 到这本篇就结束了欲知后事如何请听下回分解~ 转视频版 看文字不过瘾可以切换视频版Spring Batch高效批处理框架实战
http://www.hkea.cn/news/14584840/

相关文章:

  • 做网站都需要年服务费吗龙岩网站制作设计
  • 成都专业网站推广公司大连网站建设 领超最好
  • 网站优化自己做该怎么做天下第一社区在线观看 welcome
  • 中国域名网站排名制作网页时若要使链接目标在新窗口中打开则应用选择
  • 医药网站 备案怎么批量修改wordpress文章内容
  • 怎么根据已有网站做新网站南宁广告网页设计招聘
  • 做米业的企业网站常州专业做网站公司
  • 阜宁做网站哪家最好网站建设与数据库管理
  • 具有价值的做pc端网站云主机服务器租用
  • 如何建造企业网站网页设计实验报告用什么格式
  • 超链接 网站精美网站开发方案
  • 网站数据丢失了做数据恢复需多久263企业邮箱入口登录方法
  • 网站开发机构网页 制作
  • 成都住房和城乡建设厅网站首页图书馆评估定级关于网站建设标准
  • 网站标识描述可以填关键词吗南充网站网站建设
  • 上海网站建设商城wordpress中文广告插件下载
  • 北京网站维护上海域名网站
  • pc网站开发获取位置开发门户网站
  • 星凯网站建设美食的网站建设个人总结
  • 住房和城乡建设部网站 城市绿地分类资源收费网站怎么做
  • 道滘镇网站仿做营销型网站建设定制网站建设
  • 网站建设与网页制作论文最美情侣免费视频
  • 如何在自己的服务器上搭建微网站鸿科经纬教网店运营推广
  • 建设网站的费用如何入账中细软做的网站
  • 苏州网站建设公司书生商友电商网站后台报价
  • 微网站和手机网站怎么删除网站的死链
  • 张家港建设银行网站网站开发飞沐
  • 网站的需求分析怎么写网站负责人核验照
  • 有账号和密码怎么进公司网站后台vs2012 网站开发
  • 做营销型网站 公司实施网站推广的最终目的