两个大文本,每行一条int数据

3亿(int)数据-2亿(int)数据 求差集

原始(粗暴)办法

1redis set 或类似方案
本地内存 cpu都撑不住

2持久化两张表 sql join
mysql join是两层暴力for的性能太差,还是单线程的
sqlserver 三种join方式,1两层for,2有序列优化join,3 hash join,该场景可用有序列进行join(int型数 hash join没啥意义),性能远胜两层暴力for,另外sqlserver多线程计算优化
orcal 和sqlserver类似 细节或有区别,不是很熟悉,反正比mysql强

3 sql insert文本1,遍历文本2 update 再select

sqlserver 本机mac需要 https://hub.docker.com/r/microsoft/mssql-server-linux

4hadoop map/reduce 本身自带sort,说到底和sqlserver join原理差不多,同时用到了多机,多进程/线程

4linux命令 grep sort 之类

5bitmap

直接用redis 作位运算 代码都不用写多少

大量int型数据,交差并都都优先考虑bitmap

用redis的 bit 有位数限制

offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)。

单key放不下,就多用几个

redis [key] = val/(2^32)

[key] [offset] = val%(2^32)

setbit [key] [offset] 1

3亿(int)数据-2亿(int)数据 求差集的更多相关文章

  1. KUDU数据导入尝试一:TextFile数据导入Hive,Hive数据导入KUDU

    背景 SQLSERVER数据库中单表数据几十亿,分区方案也已经无法查询出结果.故:采用导出功能,导出数据到Text文本(文本>40G)中. 因上原因,所以本次的实验样本为:[数据量:61w条,文 ...

  2. 我这么玩Web Api(二):数据验证,全局数据验证与单元测试

    目录 一.模型状态 - ModelState 二.数据注解 - Data Annotations 三.自定义数据注解 四.全局数据验证 五.单元测试   一.模型状态 - ModelState 我理解 ...

  3. DataTable to Excel(使用NPOI、EPPlus将数据表中的数据读取到excel格式内存中)

    /// <summary> /// DataTable to Excel(将数据表中的数据读取到excel格式内存中) /// </summary> /// <param ...

  4. 【Paddy】如何将物理表分割成动态数据表与静态数据表

    前言 一般来说,物理表的增.删.改.查都受到数据量的制约,进而影响了性能. 很多情况下,你所负责的业务关键表中,每日变动的数据库与不变动的数据量比较,相差非常大. 这里我们将变动的数据称为动态数据,不 ...

  5. 用ajax获取后台数据,返回json数据,怎么在前台使用?

    用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...

  6. 爬虫爬数据时,post数据乱码解决办法

    最近在写一个爬虫,目标网站是:http://zx.bjmemc.com.cn/,可能是为了防止被爬取数据,它给自身数据加了密.用谷歌自带的抓包工具也不能捕获到数据.于是下了Fiddler.     F ...

  7. atitit.数据验证--db数据库数据验证约束

    atitit.数据验证--db数据库数据验证约束 1. 为了加强账户数据金额的安全性,需要增加验证字段..1 2. 创建帐户1 3. 更改账户2 4. ---code3 5. --fini4 1. 为 ...

  8. Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户

        你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:1 ...

  9. (int &)a 和(int)a

      [cpp] view plain copy float a = 1.0f;     cout < < (int)a < < endl;     cout < < ...

随机推荐

  1. 从定时器的选型,到透过源码看XXL-Job(上)

    此内容来自一位好朋友的分享,也是当初建议我写博客提升的朋友.内容只做转载,未做修改. 定时任务选型 背景 目前项目定时任务采用Spring Task实现,随着项目需求的迭代,新增的定时任务也越来越多. ...

  2. Python笔记_第一篇_面向过程_第一部分_2.内存详解

    Python的很多教材中并没有讲内存方面的知识,但是内存的知识非常重要,对于计算机工作原理和方便理解编程语言是非常重要的,尤其是小白,因此需要把这一方面加上,能够更加深入的理解编程语言.这里引用了C语 ...

  3. JDBC(一)

    1.   JDBC介绍 JDBC(Java DataBase Connectivity),即Java数据库的连接.JDBC是一种用于执行SQL语句(DML,DDL,DQL)的Java API,可以为多 ...

  4. 201409-1 相邻数对 Java

    两两比较,注意不要越界就行 import java.util.Arrays; import java.util.Scanner; public class Main { public static v ...

  5. Ubuntu--- 安装VMware 报错 Build enviroment error!

    今天从 Ubuntu 安装 VMware 下载并安装过程都很顺利,但是在启动过程中报错误,所以总结如下: 报错原因:VMware 第一次启动需要编译一些模块,但是刚开始并没有安装 gcc 所以便报无法 ...

  6. PAT Basic 插⼊与归并(25) [two pointers]

    题目 根据维基百科的定义: 插⼊排序是迭代算法,逐⼀获得输⼊数据,逐步产⽣有序的输出序列.每步迭代中,算法从输⼊序列中取出⼀元素,将之插⼊有序序列中正确的位置.如此迭代直到全部元素有序.归并排序进⾏如 ...

  7. 题解【[BJOI2015]树的同构】

    切了省选题+紫题,来写个题解 这题其实挺水,才120行代码 该题写了我一天(上午1.5h,晚上10min = 一天) hash,对于节点A,\[hashval[A] = \{hashval[i]\ti ...

  8. CF809C(找规律+数位DP)

    老年选手需要多写一些思维题qwq. 通过打表很容易发现对于(i,j),值为(i-1)^(j-1)+1,然后本题就没了qwq. 矩阵差分还是很容易想到的,容斥成四个矩阵. 然后看到异或很容易想到三件事: ...

  9. cJSON api的使用教程

    背景说明:由于和后台通信,为了统一数据格式,选择使用json格式,客户端开发语言使用的是c,故需要借助第三方库来实现json格式的转化,cJSON是一个很好的第三方库, 下载链接1:https://g ...

  10. swoole使用异步进程通信

    $process = new swoole_process(function($pro){ $pro->exec('//linux中的php命令所在绝对路径', ['//执行文件绝对路径']); ...