随笔分类 -  大数据

摘要:题目: 有一个很大的文件,这文件中的内容全部都是数字,要求尝试从这个文件中找出最大的10个数字。 分析: 看起来像是一个比较简单的问题。不用大数据框架的话,也能比较轻易的实现:就是逐个读取文件中的每个数字,放到一个大顶堆结构中;将大顶堆放满以后,每读取一个数字就将之和大顶堆中的最小值进行比较,如果其大于这个最小值的话,就将其放入堆中,并将堆中的最小值删除;这样读取到最后,堆中剩下来的内容就是to... 阅读全文
posted @ 2017-09-27 22:02 robin·张 阅读(596) 评论(0) 推荐(0) 编辑
摘要:题目 有两个文件A和B,两个文件中都有几百万行数字,现在需要找出A文件和B文件中数字集合的交集、并集、以及A对B的差集。 简单说一下思路: 这个问题关键在于key和value的设计。这里我将文件中的数字设置为key,将文件名称设置为value。这样在reduce阶段很容易就能找出A、B两个文件中数字的交并差集了。 并集就是reduce阶段能输出的全部记录;交集则需要做下过滤,即一个记录中的val... 阅读全文
posted @ 2017-09-21 22:18 robin·张 阅读(1342) 评论(1) 推荐(0) 编辑
摘要:题目: 需要将MR的执行结果保存到3个文件中,该怎么做。 又是一个送分题。 对于Hadoop的MapReduce来说只需要设置一下reduce任务的数量即可。MR的Job默认reduce数量是1,需要调用job的setNumReduceTasks()方法来调整reduce任务的数量。 对于spark来说,可以调用coalesce方法或repartition方法来调整分区的数量,这样也可以调整最终... 阅读全文
posted @ 2017-09-19 22:09 robin·张 阅读(236) 评论(0) 推荐(0) 编辑
摘要:题目: 一个文件,大小约为100G。文件的每一行都是一个数字,要求对文件中的所有数字进行排序。 对于这个题目,了解过Hadoop的同学可以笑而不语了。即使用spark实现也是非常简单的事情。 先说下如何用Hadoop实现。实际上也没什么好说的:Map任务逐行读入数字,而后在Reduce中输出就可以了,简单粗暴到令人发指。 看下代码好了: package com.zhyea.dev; impor... 阅读全文
posted @ 2017-09-18 07:07 robin·张 阅读(525) 评论(0) 推荐(0) 编辑
摘要:从今天我们开始学习HBase。希望大家能够通过这个课程对HBase有一个初步的认识,并且能够使用HBase提供的命令行以及Java API完成一些通用的操作。 今天的内容是一些入门性的知识:包括HBase的简单介绍、HBase的逻辑模型以及HBase的物理模型。 HBase简介 HBase是Google BigTable的开源实现。在05年前后,谷歌发布了三篇非常重要的论文,受这三篇论文的启发才有... 阅读全文
posted @ 2017-05-04 07:15 robin·张 阅读(599) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示