`

大数据排序或取重或去重相关问题解决方案

阅读更多

Q:TC群里有人发消息说在10亿个数据中找出所有的重复数,内存限制10M。貌似百度面试题。

“笨一休”大牛的初步提出了个方法:

1,利用hash对所有数进行取模(比如%1M),利用余数进行分1K组;

2,再对1K组,内部进行hash查重复数。

 

晚上上自习时候想了想,觉得不需要设计hash函数来进行操作,一来很难设计出无冲突的hash函数,二来每次进行hash时候涉及取模操作,比较费时。想了个方法如下:

1,将10亿=10^9个数划分为N(N=1K或500)个区间段,即使用N个文件存储。每个文件代表一个区间(1《x《1M放在f1中,1M<x《2M放在f2中之类......自己设定)。

2,扫描所有数,通过比较将数划分到N个区间中;(可以采取判定树方式比较)

3,分别对N个文件,进行操作(取去重或排序之类),(此时可以对每个文件中的数据,进行内存操作。数组便可完成。因为数据随机,平均每个文件的数据个数为2M/1M个,2M/1M*4=8M/4M <10M;这里也可以用bit操作更省内存)。

分享到:
评论

相关推荐

    适用于Delphi的完整文本数据快速排序去重代码,可以对几百万几千万数据快速处理

    标题和描述提到的"适用于Delphi的完整文本数据快速排序去重代码",就是针对这种需求的一个解决方案。 首先,快速排序是一种高效的排序算法,由C.A.R. Hoare在1960年提出,其平均时间复杂度为O(n log n),在实际应用...

    百万去重.rar

    为了深入理解并优化这个“百万去重”算法,我们需要查看源代码或文档,分析其具体实现细节,以及存在的问题,并针对性地提出解决方案。这可能涉及到更复杂的算法设计,如使用更加高级的数据结构,或者引入并行计算等...

    基于Web系统的大数据搜索技术的实现和优化.zip

    本篇文章将深入探讨该技术的实现原理、优化策略以及其在实际应用中的挑战与解决方案。 首先,大数据搜索技术的核心在于搜索引擎,它通常由数据采集、预处理、索引建立、查询处理和结果展示等几个主要部分组成。数据...

    《使用pdi构建开源etl解决方案》书中源码下载

    《使用PDI构建开源ETL解决方案》是一本深入讲解如何运用Pentaho Data Integration(简称PDI,又称Kettle)工具来实现企业级数据提取、转换和加载(ETL)的书籍。书中涵盖了大量的实战案例,旨在帮助读者掌握PDI在...

    亿万级数据处理的高效解决方案.docx

    【亿万级数据处理的高效解决方案】 在信息技术领域,随着数据量的爆炸性增长,处理亿万级数据成为一项挑战。本文将探讨如何有效地处理大规模数据,主要关注存储、处理和操作策略,以及各种技术和工具的应用。 首先...

    DuplicateCleaner_文件去重软件.zip

    总之,DuplicateCleaner作为一款强大的文件去重软件,它的出现为解决电脑中的重复文件问题提供了一种高效解决方案。合理利用这一工具,我们可以更好地管理和维护自己的数字资产,提升电脑使用体验。通过持续的扫描、...

    Informatica 技术解决方案

    总结,Informatica技术解决方案以其先进的设计理念、强大的基本功能和显著的技术特点,为企业提供了全面的数据管理工具,帮助解决复杂的数据问题,提升企业的数据资产价值。无论是在数据整合、数据清洗、数据分析...

    易语言除去重复数据源码.7z

    "易语言除去重复数据源码"是一个针对这一需求的编程解决方案,旨在帮助开发者实现对数据集去重的功能。易语言是中国自主研发的一种简单易学的编程语言,其语法简洁明了,适合初学者和专业人士进行快速开发。 该源码...

    数据去重复1E1000W数据只需30S左右.zip

    标题中的"数据去重复1E1000W数据只需30S左右"表明我们探讨的是一个高效的数据去重解决方案,能够处理1亿条(1E10,即10^10)数据记录,并在短短30秒内完成去重工作。这涉及到高速处理、算法优化以及可能的并行计算...

    PDI构建ETL解决方案

    ### PDI构建ETL解决方案 #### 一、引言 在大数据时代,企业对数据处理的需求日益增长。ETL(Extract-Transform-Load)作为数据仓库的重要组成部分,其作用是将来自不同源的数据进行抽取、转换和加载到目标系统中。...

    面试题目-大数据量海量数据处理.pdf

    这些面试题目聚焦于大数据量和海量数据的处理,涵盖了各种挑战,包括数据过滤、去重、排序、频率统计和热门元素提取。以下是对这些题目的详细解析和相关知识点: 1. **URL共现问题**:这是一个典型的集合交集问题,...

    通用大数据存储和分析处理平台-Hadoop.docx

    综上,Hadoop是大数据领域的核心工具,其分布式存储和计算能力,结合各种算法和处理系统,为企业提供了高效、可靠且成本效益高的大数据解决方案。通过深入理解Hadoop及其生态系统,可以更好地应对大数据时代的挑战。

    大数据可视化中的静态导入应用.pptx

    - **去重策略**:根据业务规则确定保留或删除重复记录的策略,例如保留最新记录或根据特定字段进行去重。 3. **数据插补** - **缺失值识别**:识别并标记缺失或无效的数据点,以备后续插补。 - **插补方法选择**...

    基于哈希技术和MapReduce的大数据集K-近邻算法实现代码

    本项目实现了利用哈希技术和MapReduce框架对大规模数据集执行KNN算法的高效解决方案。 哈希技术在大数据处理中的作用主要体现在快速查找和数据去重上。哈希函数能够将任意大小的数据映射为固定长度的哈希值,通过...

    removeRedundancy.rar_去冗余

    综上所述,`removeRedundancy.m`脚本是一个针对数据去重问题的解决方案,它涉及到了数据清洗、数据结构、算法、数据一致性和性能优化等多个IT领域的知识点,对于提升深圳医疗设施的数据管理效率具有重要意义。...

    txt去重复工具.zip

    "txt去重复工具.zip" 提供了一个解决方案,专门针对TXT文本文件进行去重操作,以快速有效地消除重复的数据。 首先,我们要理解什么是TXT文件。TXT是一种最基本的文本文件格式,它不包含任何格式化信息,只存储纯...

    C语言常用18种算法范例

    这些算法不仅涵盖了基础数据结构的操作,还包括了高级问题的解决方案。熟练掌握这些算法对于提升C语言编程能力至关重要,尤其在嵌入式系统开发中,对性能和内存管理有严格要求,合理运用算法能极大提高代码效率。...

    海量排序总结.txt

    2. **D-left Hashing**(D左散列):一种特殊的双散列方案,用于解决元素插入和查找时的冲突问题,通过两个散列函数分别确定主槽和次槽位置,提高数据的分布均匀性。 3. **Bit-Map**:利用位数组表示元素是否存在,...

Global site tag (gtag.js) - Google Analytics