美文网首页我爱编程
大数据常见问题

大数据常见问题

作者: d394af621d4c | 来源:发表于2017-12-26 12:24 被阅读31次

1、给一个超过100G大小的log file,log中存着IP地址,设计算法找到出现次数最多的IP地址?(与如何知道top K的IP,如何使用Linux系统命令实现)

Hash分桶法:

  • 将100G文件分成1000份,将每个IP地址映射到相应文件中:file_id = hash(ip) % 1000

  • 在每个文件中分别求出最高频的IP,再合并Hash分桶法;

  • 使用Hash分桶法把数据分发到不同的文件;

  • 各个文件分别统计top K;

2、给定100亿个整数,设计算法找到只出现一次的整数。

Hash分桶法,将100亿个整数映射到不同的区间,在每个区间中分别找只出现一次的整数。

3、给两个文件,分别有100亿个整数,我们只有1G内存,如何找到两个文件交集

扫描每个整数是否出现过,节省内存方法使用bitmap。

桶分 + bitmap。如果整数是32bit,直接使用bitmap的方法实现。

所有整数共232种可能,每个数用两位表示,00表示文件均没出现,10表示文件1出现过,01表示文件2出现过,11表示两文件均出现过,共需要232*2/8 = 1GB内存,遍历两个文件中的所有整数,然后寻找bitmap中11对应的整数即是两个文件的交集,这样即可线性时间复杂度完成。

4、1个文件有100亿个int,1G内存,设计算法找大出现次数超过2次的所有整数。

Bitmap扩展:用2个bit表示状态,0表示未出现,1出现过1次,2出现过2次或以上。

5、给两个文件,分别有100亿个query,我们只有1G内存,如何找到两个文件交集?分别给出精确算法和近似算法?

精确算法:Hash分桶法

将两个文件中的query hash到N个小文件中,并标明query的来源;

在各个小文件中找到重合的query

将找到的重合query汇总

近似算法:BloomFilter算法

5、说说Zookeeper

640.jpg 640hbase.jpg

Zookeeper的核心是原子广播,这个机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。Zab协议有两种模式,它们分别是恢复模式(选主)和广播模式(同步)。当服务启动或者在领导者崩溃后,Zab就进入了恢复模式,当领导者被选举出来,且大多数Server完成了和leader的状态同步以后,恢复模式就结束了。状态同步保证了leader和Server具有相同的系统状态。

当leader崩溃或者leader失去大多数的follower,这时候zk进入恢复模式,恢复模式需要重新选举出一个新的leader,让所有的Server都恢复到一个正确的状态。

ZooKeeper学习第一期---Zookeeper简单介绍

6、说说HBase

Hbase架构与原理

Dpz74XZ.jpg

7、说说ETL

ETL讲解

ETL (Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程)
是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据。

相关文章

  • 面试常见问题 - 目录

    面试常见问题01 - C++相关(施工ing) 面试常见问题02 - 算法与数据结构(施工ing) 面试常见问题0...

  • 数据分析方法论

    数据分析常见问题 数据分析流程 数据分析方法论

  • 最简洁SparseArray介绍

    一、全文概括1、SparseArray数据结构2、数据插入以及取出过程3、常见问题 二、SparseArray数据...

  • 《Redis实战》

    阅读本书可以让你学到很多小技巧、小窍门以及使用Redis解决某些常见问题的方法。 redis五大数据类型 stri...

  • QuickBI助你成为分析师-数据建模(二)

    摘要: 数据集编辑功能界面介绍以及常见问题总结。 在数据集编辑界面可以进行数据建模来更好的展示数据,创建数据集默认...

  • 数据库锁

    常见问题 MyISAM与InnoDB关于锁方面的区别是什么 数据库事务的四大特性 事务隔离级别以及各级别下的并发访...

  • 数据科学家需要了解的 5 种采样方法

    作者 | skura来源 | ​AI开发者 采样问题是数据科学中的常见问题,对此,WalmartLabs 的数据科...

  • 解密大数据专栏文章分类【转】

    数据分析入门数据分析入门常见问题汇总Python初学者们 - Anaconda入门使用指南Python学习利器——...

  • 解密大数据专栏文章分类

    数据分析入门 数据分析入门常见问题汇总 Python初学者们 - Anaconda入门使用指南 Python学习利...

  • web前端常见面试题

    面试常见问题总结 JavaScript 原型 数据存储 : 堆栈 深拷贝 数组去重 null undefined...

网友评论

    本文标题:大数据常见问题

    本文链接:https://www.haomeiwen.com/subject/bfwdgxtx.html