原文:大数据位图法(无重复排序,重复排序,去重复排序,数据压缩)之Java实现

,位图法介绍 位图的基本概念是用一个位 bit 来标记某个数据的存放状态,由于采用了位为单位来存放数据,所以节省了大量的空间。举个具体的例子,在Java中一般一个int数字要占用 位,如果能用一位就表示这个数,就可以缩减大量的存储空间。一般把这种方法称为位图法,即Bitmap。 位图法比较适合于判断是否存在这样的问题,元素的状态比较少,元素的个数比较多的情况之下。那么具体咋么做呢,这样,非常简单 ...

2017-10-14 22:12 2 3604 推荐指数:

查看详情

大数据量进行排序--位图

题目:对2G的数据量进行排序,这是基本要求。 数据:1、每个数据不大于8亿;2、数据类型位int;3、每个数据最多重复一次。 内存:最多用200M的内存进行操作。 我听过很多种类似问题的解法,有的是内存多次利用,有的用到了外存,我觉得这两种做法都不是比较好的思想,太慢。由于这个题目看起 ...

Fri Jul 28 02:37:00 CST 2017 0 4002
疯狂位图之——位图实现12GB重复大整数集排序

  《Programming Pearls》(编程珠玑)第一章讲述了如何用位图排序重复数据集,整个思想很简洁,今天实践了下。 一、主要思想   位图排序的思想就是在内存中申请一块连续的空间作为位图,初始时将位图的每一位都置为0,然后依次读取待排序文件的整数,将整数所在的位设置为1,最后扫描 ...

Mon Jul 01 18:05:00 CST 2013 9 2108
Oracle查询字符串数据进行排序,以及去重复

原本的的一张表,填写数据的字段为字符串varchar2类型,然后进行排序的时候,就会出现问题。会默直接默认判断为第一个数字9最大,而不判断整个数字的大小。 所以,就要用到TO_NUMBER函数 直接就可以把这个纯数字的字段改成number类型进行排序。 然后查询 ...

Thu Feb 21 02:42:00 CST 2019 0 694
postgresql排序分页时数据重复问题

当同时排序又分页时,如果排序的字段X不是唯一字段,当多个记录的X字段有同一个值时顺序是随机的。 这个有可能造成分页时数据重复的问题。某一页又把上一页的数据查出来了,其实数据库只有一条记录。 解决办法: 如果排序字段不是唯一的,则增加个二级排序,二级排序的字段要是唯一的(例如id)。 ...

Tue Jul 17 02:28:00 CST 2018 0 887
JAVA大数据数组排序

对于数据排序大家肯定见过不少,选择排序或者冒泡排序等等,今天我们要做的是快速排序 + 直接插入排序来对大数据(1000万以上)进行排序,下面我们分别来看看这两种排序规则 1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是排 好顺序的,现在 ...

Wed Nov 30 18:30:00 CST 2016 0 3135
利用BitMap进行大数据排序去重

。当然这在处理小规模数据是可行的。 我们考虑大数据的情况:例如在java语言下,对10亿个int类型数据 ...

Sat Dec 31 19:57:00 CST 2016 0 9164
大数据排序问题

问题 一个文件中有9亿条不重复的9位整数,对这个文件中数字进行排序 直接想法 9亿条(9e8)数据,每个数据能用int存储 因此所需要内存 9e8x4B = 3.6e9B = 3.6GB,这是装载所需要的 排序复杂度一般都是nlogn 因此需要的内存更大 方法一 数据排序 将文本文件 ...

Sat Apr 13 06:44:00 CST 2019 0 901
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM