100G 数据,按照 100M 内存拆分,然后排序有序的数据,然后写入到 file1,file2…file100。
多路归并。
第一回合:
从 file1,file2,file3…file100.取出第一个数。及最小的。所有的初始指针都是第一行。
min1=min(min1 = min(min1=min(fil1,$file2,file3…file100);
min1写入到大数据文件。大数据行数指针+1。min1 写入到大数据文件。大数据行数指针+1。min1写入到大数据文件。大数据行数指针+1。min1 对应的行数指针+1。
第二回合:
从 file1,file2,file3…file100.取出第一个数。及最小的。所有的初始指针都是第一行。
min2=min(min2 = min(min2=min(fil1,$file2,file3…file100);
min2写入到大数据文件。大数据行数指针+1。min2 写入到大数据文件。大数据行数指针+1。min2写入到大数据文件。大数据行数指针+1。min2 对应的行数指针+1。

多路归并排序:

function mergeMultiArray($arr)
{//初始化参赛 PK 的数据40foreach($arr as $key => $items){//初始化每个参赛的第一个元素$idx[$key] = 0;}$retArr = array();$retIdx = 0;while(false == empty($arr)){$min = null;//最小值$minKey = null;//最小值得代表队编号foreach($arr as $key => $items){$tmpIdx = $idx[$key];//参赛代表对当前指针$tmpMin = $items[$tmpIdx];//参赛代表对的值$tmpKey = $key;//参赛代表对的编号if(null == $min || $tmpMin < $min){$min = $tmpMin;$minKey = $key;}}//写入结果$retArr[$retIdx] = $min;$retIdx++;//或者队伍的指针+1$idx[$minKey]++;//参赛代表队,队员已经用完了if($idx[$minKey] >= count($arr[$minKey])){unset($arr[$minKey]);}}return $retArr;
}
$ret = mergeMultiArray(array(array(1,10,100),array(2,30,70),array(4,6,9)));
print_r($ret);

技术交流

CleverCode是一名架构师,技术交流,咨询问题,请加CleverCode创建的qq群(架构师俱乐部):517133582。加群和腾讯,阿里,百度,新浪等公司的架构师交流。【架构师俱乐部】宗旨:帮助你成长为架构师!

100G 数据,只有 100M 内存,怎么排序?相关推荐

  1. 海量数据排序问题——如果有1TB的数据需要排序,但只有32GB的内存如何排序处理?

    1.外排序  传统的排序算法一般指内排序算法,针对的是数据可以一次全部载入内存中的情况.但是面对海量数据,即数据不可能一次全部载入内存,需要用到外排序的方法.外排序采用分块的方法(分而治之),首先将数 ...

  2. 数据科学家令人惊叹的排序技巧

    2019 年第 80 篇文章,总第 104 篇文章 本文大约 7800 字,阅读大约需要20分钟 原题 | Surprising Sorting Tips for Data Scientists 作者 ...

  3. python 按条件选择行和列数据_小白学数据结构-排序算法Python(冒泡、选择、快速、希尔等等)...

    排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存. 我们通常所说的排序算法往往指的是内部排序算法,即数据 ...

  4. 面向大数据的异构内存系统

    面向大数据的异构内存系统 王孝远, 廖小飞, 刘海坤, 金海 华中科技大学计算机学院,湖北 武汉 430074 摘要:受限于DRAM和新型非易失性存储器(non-volatile memory,NVM ...

  5. JVM00_面试官对类加载器子系统、运行时数据区、内存分布、执行引擎的灵虚拷问,你能坚持到第几问?

    因为热爱所以坚持,因为热爱所以等待.熬过漫长无戏可演的日子,终于换来了人生的春天.他逐渐被人熟知,被人喜爱 三年前,在苏州园区某个国企面试,第一道题目便是:JVM是什么吗?然后就是拿着笔试题目被面试官 ...

  6. vaex库使用方法python_Python秒开100G数据是怎么办到的?

    Python秒开100G数据是怎么办到的? 在这个数据爆炸的时代,我们通常要对海量的数据进行分析,少则几十G,多则上百G,对于这样的数据我们打开都很困难,又该如何分析呢?通常都会采取下面几个方案: 对 ...

  7. zw·10倍速大数据与全内存计算

    zw·10倍速大数据与全内存计算 zw全内存10倍速计算blog,早就在博客园机器视觉栏目发过,大数据版的一直挂着,今天抽空补上. 在<零起点,python大数据与量化交易>目录中 htt ...

  8. 脚本实现监控APP的专项数据:CPU 内存 电量 流量

    296 lines (263 sloc) 12.2 KB #/user/bin/python #encoding:utf-8 import os import time import csv impo ...

  9. 黑客组织利用El Machete窃取全球政府超过100G数据

    网络间谍活动一直是热议的话题,各类媒体不乏频现各种网络间谍活动,尤其前几年更是"炒得火热".近期,网络间谍活动又"风生水起". 黑客组织利用El Machete ...

最新文章

  1. A. Case of the Zeros and Ones
  2. 阅读作业:大泥球、敏捷、人件
  3. java 调优参数 newRatio, survivorRatio
  4. mysqli 扩展_MySQLi的优势
  5. 计算机帮教助教活动总结,【助教总结】_助教总结范文三篇
  6. 响应式图片(srcset属性和picture元素)
  7. Mac系统搭建java开发环境
  8. yum配合rpm查看软件包安装位置
  9. walle多渠道打包+Tinker(bugly)热更新集成+360加固(乐固)
  10. c语言实现开方,c语言开方(c语言开平方代码)
  11. react native 抖音视频列表页
  12. HBase学习笔记:HBase数据库介绍
  13. Termux安装Python
  14. android fps 检测工具,Android FPS监测 方法总结
  15. 2 数据可视化大屏 - 布局
  16. 菜鸟、小白在autojs和冰狐智能辅助之间如何选择?
  17. 怎么从SPSS的分析结果中得出回归方程?
  18. 商业保理与 P2P 是如何结合运作的
  19. 弘玑创始人兼CEO高煜光获得2022上海城市数字化转型“领军先锋”决赛一等奖
  20. Pytorch深度学习实践(b站刘二大人)P10讲 (CNN卷积神经网络基础篇)

热门文章

  1. 数据结构实验(C++实现):二叉树操作
  2. 爆肝一周,完成了一款第一人称3D射击游戏,现在把源代码分享给大家,适合新手跟着学习
  3. 数据结构与算法-Prim算法解析与解决修路最小生成树问题
  4. 国际手机号码正则表达式
  5. C、c++ .h 头文件的作用
  6. Wireshark 基础 | 捕获过滤篇
  7. 如何构建大规模数据中心网络?智邦科技高密交换机给你答案
  8. 浪潮之巅读书笔记(三)
  9. 【客家风情】世界遗产·福建土楼·永定篇
  10. EDIUS 9带你剪辑萌萌的《疯狂动物城》