`
wanghongjue
  • 浏览: 2982 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

大数据拆分处理方式

 
阅读更多
思路:
1:参考分页方式将数据拆成指定大小线程数

2:在每个独立的线程中去读取数据并处理数据

步骤一实现

public class IndexIntiTools {
	
	public static AtomicInteger runflag=new AtomicInteger();

	//用于测试
	public static List<Object>  syncList=new CopyOnWriteArrayList<Object>();
	private static int idxThreadCount = 10;

	private static Executor ex = Executors.newFixedThreadPool(idxThreadCount);

	/**
	 * 构建索引
	 * @param hql
	 * @param size
	 */
	public static void build(String hql, int size) {
		int pagecount = idxThreadCount;
		int count = size / pagecount;
		int mod = size % pagecount;
		List<Runnable> runList = new ArrayList<Runnable>(pagecount);
		IndexExecutor idxExecutor;
		for (int i = 0; i < pagecount; i++) {
			if (i == (pagecount - 1)) {
				idxExecutor = new IndexExecutor(hql, i * count, count + mod);
			} else {
				idxExecutor = new IndexExecutor(hql, i * count, count);
			}
			runList.add(idxExecutor);
		}
		for (Runnable runnable : runList) {
			runflag.incrementAndGet();
			ex.execute(runnable);
		}
	}

}

步骤二实现
public class IndexExecutor implements Runnable{
	
	private static final Log log = LogFactory.getLog(IndexExecutor.class);
	private int start;
	private int limit;
	private String hql;
	public IndexExecutor(String hql,int start, int limit) {
		this.hql=hql;
		this.start = start;
		this.limit = limit;
	}

	@Override
	public void run() {
		log.info("hql:"+hql+",start:"+start+",limit"+limit);
		//查询数据库(hql,start,limit);
		log.info(list);
		IndexIntiTools.syncList.addAll(list);
		IndexIntiTools.runflag.decrementAndGet();
	}


}
分享到:
评论

相关推荐

    C# Socket 客户端服务端封装 支持多连接处理 Tasks多线程 队列处理 大数据拆分包处理

    Socket 客户端代码封装、服务端代码封装,让使用Socket更简单。 同时服务端支持超过客户端连接(测试超过1万个同时连接稳定运行),Tasks多线程 队列处理 大数据拆分包处理

    剖析大数据.docx

    我们可以将一套完整的大数据平台拆分成几个不同的技术领域。从宏观上来看,大数据平台包含了三个重要的技术部分。 首先是数据交易技术。这一部分技术所从事的工作,是对一些传统的关系型数据或者非结构化数据进行...

    基于大数据的数据分析系统架构.doc

    (二)Hadoop并行处理系统架构 在Hadoop体系的分布式大数据应用中,数据采集模块会将采集到的各种类型的 数据传送到Hadoop的并行处理系统架构中,然后信息数据被保存到HDFS中,传送的数据 会被Hadoop体系中的...

    大数据平台构建:MapReduce的重要概念.pptx

    大数据场景当中我们处理的数据量非常之大,任务也很重,于是我们通常采用分治的思想,把这样一个大任务拆分为数个本质相同却又互相独立的小任务(就像将一个大面包切分成多块小的面包),这些小任务同时进行计算,后...

    大数据与健康生活.docx

    分析方面,Hadoop、MapReduce和Spark等分布式处理方式已经成为大数据处理各环节的通用处理方法。 大数据的挖掘可以从大量、不完全的、模糊的、随机的大型数据库中发现隐含在其中有价值的、潜在有用的信息和知识,是...

    大数据基础知识培训

    MapRedce:并行计算架构,将计算任务拆分成大量可以独立运行的子任务,接着并行运算,另外会有一个系统调度的架构负责收集和汇总每个子任务的分析结果 HBase: 类似Google BigTable的分布式列式数据库,与Pig/Hive很...

    Java在处理大数据的时候一些小技巧

    众所周知,java在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法;  例如,我们要将...

    MS SQL Server中大数据量表的查询优化

    在SQL Server 2000中,可以通过分区视图的定义来支持大数据量表的水平拆分和查询时的数据合并,且查询引擎提供的优化机制,使得SQL Server在大数据量条件下的查询性能得到了明显改进.最后,指础了本解决方法所带来的问题...

    智慧城市多源异构大数据处理框架

    讨论了智慧城市大数据中心建设的功能架构,围绕城市多源异构数据处理的实际需要,对数据中心大数据平台的架构进行了拆分讲解,并以视频大数据处理为例,阐述了数据中心中大数据平台的运转流程。

    大数据硬核技能进阶 Spark3实战智能物业运营系统下载

    《大数据硬核技能进阶 Spark3实战智能物业运营系统》将结合生产级项目,一栈式点亮:数据收集(DataX)、数据湖(Iceberg)、数据分析(Spark)、智能调度(DS)、数据服务(DBApi)、AI大模型(ChatGPT)、可视化(Davinci)等...

    五种大数据架构简介.pdf

    基本处理过程 包括: · 从HDFS⽂件系统读取数据集 · 将数据集拆分成⼩块并分配给所有可⽤节点 · 针对每个节点上的数据⼦集进⾏计算(计算的中间态结果会重新写⼊HDFS) · 重新分配中间态结果并按照键进⾏分组 ·...

    AntJob:分布式任务调度系统,纯NET打造的重量级大数据实时计算平台,万亿级调度经验积累!面向中小企业大数据分析场景

    开源地址:使用教程:体验地址:功能特点AntJob的核心是蚂蚁算法:把任意大数据拆分成为小块,采用蚂蚁搬家策略计算每一块!(蚂蚁搬家,一个馒头掉在地上,众多小蚂蚁会把馒头掰成小块小块往家里般!)该算法设计于...

    大数据离线计算.pdf

    将⼤⽂件按照⼀定⼤⼩拆分成多份,分别存储到独⽴的机器上,并且每⼀份可以设置⼀定的副本数,防⽌机器故障导致数据丢失,这种存储 ⽅式⽐传统关系型数据库/数据仓库使⽤的集中式存储,⽆论是容量、价格、吞吐率、...

    大数据技术-题库.pdf

    ⼤数据技术 ⼤数据技术-题库 题库 ⼤数据技术-题库 1、第⼀次信息... A、 存储被拆分的数据块 B、 协调数据计算任务 C、 负责协调集群中的数据存储 D、 负责执⾏由 JobTracker 指派的任务 24、Hadoop 最初是由谁创建的

    【大数据】批处理与Hadoop.pdf

    将数据集拆分成⼩块并分配给所有可⽤节点 3. 针对每个节点上的数据⼦集进⾏计算(计算的中间态结果会重新写⼊HDFS) 4. 重新分配中间态结果并按照键进⾏分组 5. 通过对每个节点计算的结果进⾏汇总和组合对每个键的...

    大数据迁移实践之路.pdf

    交易 量的攀升导致了后台数据库数据量的激增,从⽽影响了联机程序响应时间,也增加了系统各类资源开销和后续数据分析的处理时间。为保障 系统稳定运⾏,项⽬组从增加系统资源、优化资源配置、优化重点程序和升级系统...

    baker:Baker是适用于大数据时代的高性能,可组合且可扩展的数据处理管道

    贝克 Baker是适用于大数据时代的高性能,可组合且可扩展的数据处理管道。 它擅长转换,处理,提取或存储记录(结构化数据),并通过易于编写的过滤器在输入和输出之间进行任何转换。 Baker是完全并行的,可以最大...

    ajax 的post方法实例(带循环)

    在最近的项目中,为了能解决在大数据查询中出现的超时问题,需要将大数据拆分成小数据,然后进行循环处理。本人经验不足,技术有限,只能想到用ajax来传送数据。

    Python 处理Excel:课件+数据+源代码

    Python 处理Excel:课件+数据+源代码 02用Python处理Exce l实例(提升) 示例文件 ...1.11 循环方式批量写入数据 1.10 批量写入数 据 01用Python处理Excel基础(python语言基础及excel基础操 作) 第1章 p

    大数据离线计算的架构与组件.pdf

    ⼤数据离线计算侧重于从以下⼏个维度解决传统BI⾯临的瓶颈: 分布式存储: 将⼤⽂件按照⼀定⼤⼩拆分成多份,分别存储到独⽴的机器上,并且每⼀份可以设置⼀定的副本数,防⽌机器故障导致数据丢失,这种存储⽅式⽐...

Global site tag (gtag.js) - Google Analytics