欢迎关注Hadoop、Spark、Flink、Hive、Hbase、Flume等大数据资料分享微信公共账号:iteblog_hadoop
  1. 文章总数:978
  2. 浏览总数:11,961,108
  3. 评论:3937
  4. 分类目录:106 个
  5. 注册用户数:6122
  6. 最后更新:2018年12月15日
过往记忆博客公众号iteblog_hadoop
欢迎关注微信公众号:
iteblog_hadoop
大数据技术博客公众号bigdata_ai
大数据猿:
bigdata_ai

标签:Mapreduce

Beam

大规模数据处理的演化历程(2003-2018)

大规模数据处理的演化历程(2003-2018)
本文翻译自《Streaming System》最后一章《The Evolution of Large-Scale Data Processing》,在探讨流式系统方面本书是市面上难得一见的深度书籍,非常值得学习。大数据如果从 Google 对外发布 MapReduce 论文算起,已经前后跨越十五年,我打算在本文和你蜻蜓点水般一起浏览下大数据的发展史,我们从最开始 MapReduce 计算模型开始,一路走马观

w397090770   2个月前 (10-08) 2064℃ 0评论12喜欢

Hadoop

HDFS 块和 Input Splits 的区别与联系(源码版)

HDFS 块和 Input Splits 的区别与联系(源码版)
在 《HDFS 块和 Input Splits 的区别与联系》 文章中介绍了HDFS 块和 Input Splits 的区别与联系,其中并没有涉及到源码级别的描述。为了补充这部分,这篇文章将列出相关的源码进行说明。看源码可能会比直接看文字容易理解,毕竟代码说明一切。为了简便起见,这里只描述 TextInputFormat 部分的读取逻辑,关于写 HDFS 块相关的代码请参

w397090770   7个月前 (05-16) 1130℃ 0评论14喜欢

Hadoop

HDFS 块和 Input Splits 的区别与联系

HDFS 块和 Input Splits 的区别与联系
相信大家都知道,HDFS 将文件按照一定大小的块进行切割,(我们可以通过 dfs.blocksize 参数来设置 HDFS 块的大小,在 Hadoop 2.x 上,默认的块大小为 128MB。)也就是说,如果一个文件大小大于 128MB,那么这个文件会被切割成很多块,这些块分别存储在不同的机器上。当我们启动一个 MapReduce 作业去处理这些数据的时候,程序会计算出文

w397090770   7个月前 (05-16) 968℃ 4评论21喜欢

Flink

如何在Spark、MapReduce和Flink程序里面指定JAVA_HOME

如何在Spark、MapReduce和Flink程序里面指定JAVA_HOME
大家在使用Spark、MapReduce 或 Flink 的时候很可能遇到这样一种情况:Hadoop 集群使用的 JDK 版本为1.7.x,而我们自己编写的程序由于某些原因必须使用 1.7 以上版本的JDK,这时候如果我们直接使用 JDK 1.8、或 1.9 来编译我们写好的代码,然后直接提交到 YARN 上运行,这时候会遇到以下的异常:[code lang="java"]Exception in thread "main" jav

w397090770   1年前 (2017-07-04) 2112℃ 0评论12喜欢

Hadoop

三种方法实现Hadoop(MapReduce)全局排序(2)

三种方法实现Hadoop(MapReduce)全局排序(2)
我在前面的文章介绍了MapReduce中两种全排序的方法及其实现。但是上面的两种方法都是有很大的局限性:方法一在数据量很大的时候会出现OOM问题;方法二虽然能够将数据分散到多个Reduce中,但是问题也很明显:我们必须手动地找到各个Reduce的分界点,尽量使得分散到每个Reduce的数据量均衡。而且每次修改Reduce的个数时,都得

w397090770   2年前 (2017-05-12) 3912℃ 14评论15喜欢

Hadoop

三种方法实现Hadoop(MapReduce)全局排序(1)

三种方法实现Hadoop(MapReduce)全局排序(1)
我们可能会有些需求要求MapReduce的输出全局有序,这里说的有序是指Key全局有序。但是我们知道,MapReduce默认只是保证同一个分区内的Key是有序的,但是不保证全局有序。基于此,本文提供三种方法来对MapReduce的输出进行全局排序。生成测试数据在介绍如何实现之前,我们先来生成一些测试数据,实现如下:[code lang="bash"]#!

w397090770   2年前 (2017-05-10) 7423℃ 1评论20喜欢

Hadoop

MapReduce作业Uber模式介绍

MapReduce作业Uber模式介绍
大家在提交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%[/

w397090770   2年前 (2017-04-18) 1392℃ 2评论10喜欢

Hadoop

使用JavaScript编写MapReduce程序并运行在Hadoop集群上

使用JavaScript编写MapReduce程序并运行在Hadoop集群上
  Hadoop Streaming 是 Hadoop 提供的一个 MapReduce 编程工具,它允许用户使用任何可执行文件、脚本语言或其他编程语言来实现 Mapper 和 Reducer,从而充分利用 Hadoop 并行计算框架的优势和能力,来处理大数据。而我们在官方文档或者是Hadoop权威指南看到的Hadoop Streaming例子都是使用 Ruby 或者 Python 编写的,官方说可以使用任何可执行文件

w397090770   2年前 (2017-03-14) 1217℃ 0评论2喜欢

Hadoop

通过BulkLoad快速将海量数据导入到Hbase[Hadoop篇]

通过BulkLoad快速将海量数据导入到Hbase[Hadoop篇]
在第一次建立Hbase表的时候,我们可能需要往里面一次性导入大量的初始化数据。我们很自然地想到将数据一条条插入到Hbase中,或者通过MR方式等。但是这些方式不是慢就是在导入的过程的占用Region资源导致效率低下,所以很不适合一次性导入大量数据。本文将针对这个问题介绍如何通过Hbase的BulkLoad方法来快速将海量数据导入到Hbas

w397090770   2年前 (2016-11-28) 9508℃ 2评论41喜欢

Hadoop

运行Hbase作业出现cannot access its superclass com.google.protobuf.LiteralByteString异常解决

运行Hbase作业出现cannot access its superclass com.google.protobuf.LiteralByteString异常解决
最近写了一个Spark程序用来读取Hbase中的数据,我的Spark版本是1.6.1,Hbase版本是0.96.2-hadoop2,当程序写完之后,使用下面命令提交作业:[code lang="java"][iteblog@www.iteblog.com $] bin/spark-submit --master yarn-cluster --executor-memory 4g --num-executors 5 --queue iteblog --executor-cores 2 --class com.iteblog.hbase.HBaseRead --jars spark-hbase-connector_2.10-1.0.3.jar,hbase-common-0.9

w397090770   2年前 (2016-11-03) 2161℃ 0评论6喜欢