首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何从 100 亿 URL 中找出相同的 URL?

对于这种类型的题目,一般采用分治策略 ,即:把一个文件中的 URL 按照某个特征划分为多个小文件,使得每个小文件大小不超过 4G,这样就可以把这个小文件读到内存中进行处理了。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

2.9K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    面试:如何从 100 亿 URL 中找出相同的 URL?

    对于这种类型的题目,一般采用分治策略 ,即:把一个文件中的 URL 按照某个特征划分为多个小文件,使得每个小文件大小不超过 4G,这样就可以把这个小文件读到内存中进行处理了。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

    4.6K10

    面试:如何从 100 亿 URL 中找出相同的 URL?

    对于这种类型的题目,一般采用分治策略 ,即:把一个文件中的 URL 按照某个特征划分为多个小文件,使得每个小文件大小不超过 4G,这样就可以把这个小文件读到内存中进行处理了。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

    2.3K20

    面试经历:如何从 100 亿 URL 中找出相同的 URL?

    对于这种类型的题目,一般采用分治策略 ,即:把一个文件中的 URL 按照某个特征划分为多个小文件,使得每个小文件大小不超过 4G,这样就可以把这个小文件读到内存中进行处理了。...使用同样的方法遍历文件 b,把文件 b 中的 URL 分别存储到文件 b0, b1, b2, ..., b999 中。...这样处理过后,所有可能相同的 URL 都在对应的小文件中,即 a0 对应 b0, ..., a999 对应 b999,不对应的小文件不可能有相同的 URL。...那么接下来,我们只需要求出这 1000 对小文件中相同的 URL 就好了。 接着遍历 ai( i∈[0,999] ),把 URL 存储到一个 HashSet 集合中。...然后遍历 bi 中每个 URL,看在 HashSet 集合中是否存在,若存在,说明这就是共同的 URL,可以把这个 URL 保存到一个单独的文件中。

    1.9K00

    如何选择合适的NoSQL数据库

    但是,今天特别重要的是,NoSQL数据库特别适合处理大量分布式数据,这使它们成为大数据和分析项目的理想选择。...如何选择NoSQL数据库:关键因素 市场上有二十多个开源和商业NoSQL数据库,您如何选择合适的产品或云服务? IDC研究副总裁Carl Olofson表示,一个重要因素是了解您想要提供数据的目的。...NoSQL数据库的架构和功能各不相同,因此您需要选择最适合所需任务的类型: 通常,键值存储最适合应用程序中的多个进程或微服务持久共享数据。...如果您计划对邻近度计算,欺诈检测或关联结构评估进行深层关系分析,则图形数据库可能是更好的选择。 如果您需要非常快速地以大量数据收集数据以进行分析,请查看广泛的列存储。...该数据库是本地存储,处理和访问文档以及其他类型数据集的最佳选择,它在开发人员中很受欢迎,因为它易于使用,可以扩展以满足要求苛刻的应用程序,并提供全面的工具和合作伙伴生态系统。

    2.8K20

    数据库连接池的选择

    在基于JVM的后台开发的中,在高并发场景下,往往会有一些对象,如数据库连接、线程...等对象,它的创建和初始化需要的时间比较长,当在大量使用这些对象时,如果不采取一些技术上的优化,就会造成一些效率和性能上的问题...对于这种问题常见的简单优化办法就是使用对象池,每次创建的对象并不实际销毁,而是缓存在对象池中,下次使用的时候,不用再重新创建,可以直接从对象池的缓存中取即可,通过空间换时间,不必每次都创建和关闭对象。...通过这种方式,我们可以实现各种数据库的连接池,如MySQL,Oracle,Redis,HBase,… 本系列文章首先以关系型数据库MySQL来举例实现(PS典型的数据库连接池有cp03和dbcp,Druid...,Kikari…等,但这里实现的目的是为了做一个通用一点的连接池,以同样的方式来实现对其他数据库,包括非关系型数据库的连接池),后续将陆续推出各种以同样的方式实现的其他数据连接池。...4.从本地数据库中,查询一个字段打印出来 类中方法如下(实际使用可以抽取到工具类中): 控制台显示如下: 工程目录结构如下: 数据库中有两条记录: 最后:这里没有给出具体的代码,主要是考虑到大家只要了解了具体的对象池思想

    1.6K80

    如何正确的选择云数据库?

    江湖传说在选择和使用云数据库过程中 10个人有9个会遇到以下问题: 数据库正常使用过程中莫名卡顿 经常遭遇主从延迟和主从不一致 不知如何实现无损跨云跨数据库迁 话不多说,请看本期《如何选正确的云数据库》...搜索关注“腾讯云数据库”官方微信立得10元腾讯云无门槛代金券,体验移动端一键管理数据库,学习更多数据库技术实战教程。 视频内容 懒得看视频?...图文解说见下: 计费模式:计费方式的选择只需考虑价格,性能上完全一致。如需持续使用,建议包月;如使用频率较低,如用于开发或测试环境等,按量计费更为合适。...[jpg] 地域/可用区:处于不同地域的云产品内网不通,选择的时候需要考虑是否有用到云存储或云主机,数据库需要选在同一区域。如果不在同一区域也可采用内网或对等网络进行通信。...[jpg] [jpg] [jpg] 数据库版本:版本的选择首要考虑的因素是兼容性。 [jpg] 数据复制方式:结合业务场景需求,要求数据强一致的业务,强同步复制是不二之选。

    1.9K50

    多维数据库概述之一---多维数据库的选择

    并且,这种以稀疏数组 为基础的独特的多维数据库架构,是从已成为国际标准的数据库语言基础上继承和发展的,是已积累了实践经验的先进而可靠的技术。...Cache数据库在同等条件下查询相同数据比Oracle等普通数据库要快。Cache是基于普通关系型数据库如:Oracle, SQL server, Sybase等的基础之上并有所改进而产生的。...,支持多种计算;用户可以自己构件复杂的查询;快速的响应时间,支持多用户同时读写;有30多个前端工具可供选择;支持多种财务标准;能与ERP或其他数据源集成;全球用户超过1500家 3....Hyperion Essbase是多维数据库服务器,支持从广泛的数据源提取数据,但与 Oracle OLAP 将数据存储在关系数据库引擎外不同,它通常将数据存储在自己的专用服务器上,从而具有较快的查询响应以及计算分析能力...所以暂时选择以下三种策略。

    4.2K20

    Kubernetes 的数据库配置:比较您的选择

    从手动部署方法到高级自动化工具,组织有多种选择,每种选择都适合不同的需求和技术要求。...这种方法使管理员能够完全控制数据库配置,但也带来了巨大的开销。 优点: 完全控制部署: 管理员可以自定义数据库设置的各个方面,从存储配置到网络配置。...灵活性: 这种方法允许团队构建高度定制的数据库配置,以满足特定需求,尤其是在复杂环境中。...可重用: Helm Chart可在不同环境中重用,使其成为希望在开发、登台和生产环境中保持一致性的 DevOps 团队的热门选择。...Operator将管理数据库所需的运营知识(例如配置、扩展、故障转移、备份和升级)封装到自定义控制器中。

    11710

    如何选择适合你的HTAP数据库?

    实际上并非如此,就以传统数据库中公认的老大哥Oracle为例,其本身的产品定位就是一款融合型的数据库,无论是关系型数据、图数据、空间数据、文本、XML、JSON、AP、TP等各种类型甚至包括区块链相关数据...(需要向存储请求物理I/O),也能进一步加快响应,笔者从Exadata PM的介绍中,提炼出相关的几点: 1) 事务处理IO延迟提高10倍(单块读 ~ 19us); 2) 日志写入速度提高了8倍(~...值得一提的是,RoCE + PMEM虽然快,但对于写入操作并不算是一个好的选择,因为PMEM具有的是8字节原子写,而数据库块通常大小是8K,如果写过程中突然断电,如何确保不会导致分裂块(坏块)呢?...其实是由Exadata存储软件中的复杂算法来保证原子数据库块写入PMEM,不会出现坏分裂。 另外,传统架构上,存储是无法感知数据库发出的I/O请求属于什么类型。...),压力大- 的则可以考虑分布式数据库(一般不建议分库分表那种实现方式); 3)如果当前核心数据库已经是Oracle,但又担心未来几年业务有爆发式增长,超出scale-up扩容瓶颈,那么最简单的方式就是选择迁移到

    1.7K70

    Electron中数据持久化的选择

    Electron中数据持久化的选择 Electron是一个基于Chromium的桌面应用程序框架,它可以让开发人员在不需要熟练掌握Web开发技术的情况下,快速地开发出高质量的桌面应用程序。...在Electron中,开发人员可以使用各种各样的数据存储方式,包括文件系统、数据库等。其中,数据库是一种非常常见的数据存储方式,它可以方便地存储和管理各种数据,包括文本、图片、音频、视频等。...不过,其实IndexedDB在Chrome中也是使用SQLite实现的,如果需要保持同构,只需要实现一个简单的数据库中间层来隐藏底层的API或者按照IndexedDB的API来封装一下SQLite的调用即可...SQLite 使用SQLite作为数据库可以让Electron应用程序更加轻量级和易于管理。SQLite是一种基于文件的数据库系统,它可以在不需要安装任何额外软件的情况下,在本地运行和管理数据库。...如果您正在使用Electron开发桌面应用程序,并且需要存储和管理大量的数据,那么使用SQLite数据库将是一个非常不错的选择。

    1K30

    数据库MySQL-选择合适的数据类型

    三、数据库结构的优化 1、选择合适的数据类型 1、数据类型选择 数据类型的选择,重点在于“合适”二字,如何确定选择的数据类型是否合适了? 1、使用可以存下你的数据的最小的数据类型。...(时间类型数据:可以使用varchar类型,可以使用int类型,也可以使用时间戳类型) 2、使用简单的数据类型,int要比varchar类型在mysql处理上简单。...(int类型存储时间是最好的选择) 3、尽可能的使用not null定义字段。...结论: 1、unix_timestamp()函数是将日期格式的数据转换为int类型 2、FROM_UNIXTIME(timestr)函数是将int类型转换为时间格式 案例二:ip地址的存储 在我们的外部应用中...,都要记录ip地址,大部分场合都是varchar(15)进行存储,就需要15个字节进行存储,但是bigint只需要8个字节进行存储,当数据量很大的时候(千万级别的数据),相差7个字节,但是不能小看这7个字节

    2.1K30

    结合ashx来在DataGrid中显示从数据库中读出的图片

    作者:木子  http://blog.csdn.net/derny/ 下面利用ashx文件可以方便实现从数据库中读取图片并显示在datagrid当中 //-----------------------.../ 此方法的内容。   ...可以使用类似的技术来创建显示来自其他数据库图象的DataGrid。基本的思想是使用模板列来输出一个引用某个HTTP处理句柄的标签,并在查询字符串中包含唯一标识图片所在的记录的信息。...之后,HTTP处理句柄使用ADO.NET来获取图象数据位,并使用GDI+(图象设备接口+)来构建图象。...本文由来源 21aspnet,由 javajgs_com 整理编辑,其版权均为 21aspnet 所有,文章内容系作者个人观点,不代表 Java架构师必看 对观点赞同或支持。

    3.7K30

    数据库迁移的艺术:策略与工具的选择

    在我的职业生涯中,数据库迁移这个话题时常出现在各种项目的规划阶段。迁移任务听起来简单,但实操起来却有可能成为“坑王”,因为它涉及数据的完整性、应用的持续可用性以及未来扩展的可操作性。...今天,我就结合我的经验,和大家聊聊数据库迁移中的策略选择和工具使用,力求让这个复杂的任务变得更加清晰易懂。一、为什么需要数据库迁移?...性能优化: 选择更适合业务负载的数据库。业务整合: 企业合并或业务重组导致的数据整合需求。无论出于何种原因,数据库迁移的目标始终不变:数据的安全、完整、精准的迁移,且业务不中断或尽量减少影响。...,ETL 工具如 Apache Nifi、Talend 是不错的选择。...结语数据库迁移是一个考验技术能力和规划能力的任务,但只要有清晰的策略、合理的工具选择以及充足的测试,它也可以变得有条不紊。

    9910

    数据库中的元数据

    刘耀铭同学元数据系列作品的第三篇,大家支持! 今天跟大家谈谈数据库中的元数据 数据库中的元数据无非就是对数据库中数据的描述与定义。...现在换成数据库,在关系型数据库管理系统 (DBMS) 中,元数据描述了数据的结构和意义。...比如在管理,维护Mysql 或者是开发数据库应用程序的时候,我们经常要获取一些涉及到数据库架构的信息: 数据库中的表和视图的个数以及名称; 表或者视图中列的个数以及每一列的名称、数据类型、长度、精度、描述等...那么在mysql中如何获取数据库的元数据呢?...一般有一下三种方式 show语句 【example】:show databases; --列出所有数据库 show createdatabasedb_name; --查看数据库的DDL 从INFORMATION_SCHEMA

    1.2K60
    领券