05 2016 档案

摘要:在用于查找子字符串的算法中,BM(Boyer-Moore)算法是当前有效且应用比较广泛的一种算法,各种文本编辑器的“查找”功能(Ctrl+F),大多采用Boyer-Moore算法。比我们学习的KMP算法快3~5倍。 在1977年,Boyer-Moore算法由德克萨斯大学的Robert S. Boye 阅读全文
posted @ 2016-05-31 21:52 刘超★ljc 阅读(2091) 评论(1) 推荐(1) 编辑
摘要:前面我们学习了如何使用MapReduce计数器,那么我们通过下面这个项目巩固我们所学 1、介绍 本项目我们使用电视机顶盒数据,统计出无效用户数据记录,并解析出有效的用户数据以压缩格式输出 2、数据集 数据来源于“hadoop小文件合并”处理后的结果 3、分析 基于需求,我们通过以下几步完成: 1、首 阅读全文
posted @ 2016-05-29 10:31 刘超★ljc 阅读(1045) 评论(0) 推荐(2) 编辑
摘要:举例来说,有一个字符串"BBC ABCDAB ABCDABCDABDE",我想知道,里面是否包含另一个字符串"ABCDABD"? 在上面这个例子中,字符串"BBC ABCDAB ABCDABCDABDE"称为主串,字符串"ABCDABD"称为模式串 许多算法可以完成这个任务,Knuth-Morris 阅读全文
posted @ 2016-05-27 22:46 刘超★ljc 阅读(477) 评论(0) 推荐(1) 编辑
摘要:在关系型数据库中Join是非常常见的操作,各种优化手段已经到了极致。在海量数据的环境下,不可避免的也会碰到这种类型的需求,例如在数据分析时需要从不同的数据源中获取数据。不同于传统的单机模式,在分布式存储下采用MapReduce编程模型,也有相应的处理措施和优化方法。 我们先简要地描述待解决的问题。假 阅读全文
posted @ 2016-05-26 09:27 刘超★ljc 阅读(2854) 评论(3) 推荐(2) 编辑
摘要:1、MapReduce计数器是什么? 计数器是用来记录job的执行进度和状态的。它的作用可以理解为日志。我们可以在程序的某个位置插入计数器,记录数据或者进度的变化情况。 2、MapReduce计数器能做什么? MapReduce 计数器(Counter)为我们提供一个窗口,用于观察 MapReduc 阅读全文
posted @ 2016-05-23 22:12 刘超★ljc 阅读(9994) 评论(0) 推荐(3) 编辑
摘要:1、前言 我们使用hadoop2.6.0版本配置Hadoop集群,同时配置NameNode+HA、ResourceManager+HA,并使用zookeeper来管理Hadoop集群 2、规划 1、主机规划 hadoop1/ 192.168.56.131 hadoop2/ 192.168.56.13 阅读全文
posted @ 2016-05-20 16:37 刘超★ljc 阅读(5309) 评论(1) 推荐(1) 编辑
摘要:1、YARN 是什么? 从业界使用分布式系统的变化趋势和 hadoop 框架的长远发展来看,MapReduce的 JobTracker/TaskTracker 机制需要大规模的调整来修复它在可扩展性,内存消耗,线程模型,可靠性和性能上的缺陷。在过去的几年中,hadoop 开发团队做了一些 bug 的 阅读全文
posted @ 2016-05-15 09:16 刘超★ljc 阅读(9280) 评论(0) 推荐(1) 编辑
摘要:我们继续通过项目强化掌握Combiner和Partitioner优化Hadoop性能 1、项目介绍 本项目我们使用明星搜索指数数据,分别统计出搜索指数最高的男明星和女明星。 2、数据集 3、分析 基于项目的需求,我们通过以下几步完成: 1、编写Mapper类,按需求将数据集解析为key=gender 阅读全文
posted @ 2016-05-14 16:14 刘超★ljc 阅读(1434) 评论(0) 推荐(2) 编辑
摘要:上一篇文章我们了解了MapReduce优化方面的知识,现在我们通过简单的项目,学会如何优化MapReduce性能 1、项目介绍 我们使用简单的成绩数据集,统计出0~20、20~50、50~100这三个年龄段的男、女学生的最高分数 2、数据集 姓名 年龄 性别 成绩 Alice 23 female 4 阅读全文
posted @ 2016-05-12 23:00 刘超★ljc 阅读(3190) 评论(2) 推荐(5) 编辑
摘要:Combiner和Partitioner是用来优化MapReduce的,可以提高MapReduce的运行效率。下面我们来具体学习这两个组件 Combiner 我们以WordCount为例,首先通过下面的示意图直观的了解一下Combiner的位置和作用 从上图可以看出,Combiner介于 Mappe 阅读全文
posted @ 2016-05-09 09:30 刘超★ljc 阅读(1628) 评论(0) 推荐(2) 编辑
摘要:互联网时代的到来,使得名人的形象变得更加鲜活,也拉近了明星和粉丝之间的距离。歌星、影星、体育明星、作家等名人通过互联网能够轻易实现和粉丝的互动,赚钱也变得前所未有的简单。同时,互联网的飞速发展本身也造就了一批互联网明星,这些人借助新的手段,最大程度发挥了粉丝经济的能量和作用,在互联网时代赚得盆满钵满 阅读全文
posted @ 2016-05-07 15:17 刘超★ljc 阅读(2169) 评论(0) 推荐(3) 编辑
摘要:针对前面介绍的输入格式,MapReduce也有相应的输出格式。默认情况下只有一个 Reduce,输出只有一个文件,默认文件名为 part-r-00000,输出文件的个数与 Reduce 的个数一致。 如果有两个Reduce,输出结果就有两个文件,第一个为part-r-00000,第二个为part-r 阅读全文
posted @ 2016-05-07 08:59 刘超★ljc 阅读(3163) 评论(0) 推荐(1) 编辑
摘要:数据在HDFS和关系型数据库之间的迁移,主要有以下两种方式 1、按照数据库要求的文件格式生成文件,然后由数据库提供的导入工具进行导入 2、采用JDBC的方式进行导入 MapReduce默认提供了DBInputFormat和DBOutputFormat,分别用于数据库的读取和数据库的写入 1、需求 下 阅读全文
posted @ 2016-05-06 10:44 刘超★ljc 阅读(4597) 评论(0) 推荐(2) 编辑
摘要:常见的排序算法有冒泡排序、选择排序、插入排序、堆排序、归并排序、快速排序、希尔排序、基数排序、计数排序,下面通过Java实现这些排序 1、冒泡排序 2、选择排序 3、插入排序 4、堆排序 5、归并排序 6、快速排序 7、希尔排序 8、基数排序 9、计数排序 如果,您认为阅读这篇博客让您有些收获,不妨 阅读全文
posted @ 2016-05-04 10:49 刘超★ljc 阅读(403) 评论(0) 推荐(1) 编辑
摘要:MultipleOutputs 类可以将数据写到多个文件,这些文件的名称源于输出的键和值或者任意字符串。这允许每个 reducer(或者只有 map 作业的 mapper)创建多个文件。 采用name-m-nnnnn 形式的文件名用于 map 输出,name-r-nnnnn 形式的文件名用于 red 阅读全文
posted @ 2016-05-02 19:46 刘超★ljc 阅读(5423) 评论(1) 推荐(6) 编辑
摘要:1、需求 按学生的年龄段,将数据输出到不同的文件。这里我们分为三个年龄段:小于等于20岁、大于20岁小于等于50岁和大于50岁 2、实现 1、编写Partitioner,代码如下 2、编写mapper 3、编写reducer 4、一些运行代码 3、总结 Partitioner适用于事先知道分区数的情 阅读全文
posted @ 2016-05-02 11:16 刘超★ljc 阅读(877) 评论(0) 推荐(2) 编辑