我在前面的文章介绍了MapReduce中两种全排序的方法及其实现。但是上面的两种方法都是有很大的局限性:方法一在数据量很大的时候会出现OOM问题;方法二虽然能够将数据分散到多个Reduce中,但是问题也很明显:我们必须手动地找到各个Reduce的分界点,尽量使得分散到每个Reduce的数据量均衡。而且每次修改Reduce的个数时,都得 8年前 (2017-05-12) 7313℃ 14评论20喜欢
我们可能会有些需求要求MapReduce的输出全局有序,这里说的有序是指Key全局有序。但是我们知道,MapReduce默认只是保证同一个分区内的Key是有序的,但是不保证全局有序。基于此,本文提供三种方法来对MapReduce的输出进行全局排序。生成测试数据在介绍如何实现之前,我们先来生成一些测试数据,实现如下:[code lang="bash"]#! 8年前 (2017-05-10) 14576℃ 0评论29喜欢
经过一个多月的投票,Apache Flink 1.2.1终于正式发布了。看这个版本就知道,Apache Flink 1.2.1仅仅是对 Flink 1.2.0进行一些Bug修复,不涉及重大的新功能。推荐所有的用户升级到Apache Flink 1.2.1。大家可以在自己项目的pom.xml文件引入以下依赖:[code lang="xml"]<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</art 8年前 (2017-05-04) 1659℃ 0评论6喜欢
Spark 的 shell 作为一个强大的交互式数据分析工具,提供了一个简单的方式来学习 API。它可以使用 Scala(在 Java 虚拟机上运行现有的 Java 库的一个很好方式) 或 Python。我们很可能会在Spark Shell模式下运行下面的测试代码:如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop[code lang="scala"]scala> imp 8年前 (2017-04-26) 2890℃ 0评论9喜欢
我们都知道,HDFS设计是用来存储海量数据的,特别适合存储TB、PB量级别的数据。但是随着时间的推移,HDFS上可能会存在大量的小文件,这里说的小文件指的是文件大小远远小于一个HDFS块(128MB)的大小;HDFS上存在大量的小文件至少会产生以下影响:消耗NameNode大量的内存延长MapReduce作业的总运行时间如果想及时了解Spar 8年前 (2017-04-25) 6871℃ 1评论18喜欢
我们在使用Hadoop、Spark或者是Hbase,最常遇到的问题就是进行相关系统的配置,比如集群的URL地址,MapReduce临时目录、最终输出路径等。这些属性需要有一个系统(类)进行管理。然而,Hadoop没有使用 Java.util.Properties 管理配置文件,也没有使用Apache Jakarta Commons Configuration管理配置文件,而是单独开发了一个配置文件管理类,这个类就 8年前 (2017-04-21) 7752℃ 0评论18喜欢
这次整理的PPT来自于2017年04月10日至11日在San Francisco进行的flink forward会议,这种性质的会议和大家熟知的Spark summit类似。本次会议的官方日程参见:http://sf.flink-forward.org/kb_day/day1/。因为原始的PPT是在http://www.slideshare.net/网站,这个网站需要翻墙;为了学习交流的方便,这里收集了本次会议所有课下载的PPT(共27个),希望对大家有所 8年前 (2017-04-20) 2786℃ 0评论8喜欢
大家在提交MapReduce作业的时候肯定看过如下的输出:[code lang="bash"]17/04/17 14:00:38 INFO mapreduce.Job: Running job: job_1472052053889_000117/04/17 14:00:48 INFO mapreduce.Job: Job job_1472052053889_0001 running in uber mode : false17/04/17 14:00:48 INFO mapreduce.Job: map 0% reduce 0%17/04/17 14:00:58 INFO mapreduce.Job: map 100% reduce 0%17/04/17 14:01:04 INFO mapreduce.Job: map 100% reduce 100%[/ 8年前 (2017-04-18) 3687℃ 2评论11喜欢
Apache Beam(原名Google DataFlow)是Google在2016年2月份贡献给Apache基金会的Apache孵化项目,被认为是继MapReduce,GFS和BigQuery等之后,Google在大数据处理领域对开源社区的又一个非常大的贡献。Apache Beam的主要目标是统一批处理和流处理的编程范式,为无限,乱序,web-scale的数据集处理提供简单灵活,功能丰富以及表达能力十分强大的SDK。此项 8年前 (2017-04-14) 2591℃ 0评论6喜欢
最近几年关于Apache Spark框架的声音是越来越多,而且慢慢地成为大数据领域的主流系统。最近几年Apache Spark和Apache Hadoop的Google趋势可以证明这一点:如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoop上图已经明显展示出最近五年,Apache Spark越来越受开发者们的欢迎,大家通过Google搜索更多关 8年前 (2017-04-12) 6696℃ 0评论46喜欢