mapreduce中split划分分析(新版api)

面试的过程中,笔者经常喜欢问一个问题:hadoop中map数是怎么确定的?但发现还是有好多面试者都答不上来。这个问题其实算是比较基础的一个问题,对于理解mapreduce的原理很有帮助。 今天有空结合源码分析一下。 本文以hadoop2.7.2的版本作为分析,代码链接如下。 —— [ git...

2018-01-27 10:19:29

阅读数:7465

评论数:0

hive中join导致的数据倾斜问题排查

hive中大key导致的join数据倾斜问题1、场景如果某个key下记录数远超其他key,在join或group的时候可能会导致某个reduce任务特别慢。本文分析下join的场景。本例子SQL如下:查询每个appid打开的次数,需要排除掉作弊的imei。selectappid,count(*)f...

2017-08-10 22:55:22

阅读数:17984

评论数:1

sparksql通过jdbc读取mysql时划分分区问题

当通过spark读取mysql时,如果数据量比较大,为了加快速度,通常会起多个任务并行拉取mysql数据。 其中一个api是 def jdbc(url: String, table: String, columnName: String, lowerBound: Long, upperBound:...

2018-11-10 18:00:58

阅读数:2492

评论数:2

多年大数据开发经验总结

多年工作经验总结 初入行,搞大数据开发。得高人指点,先学mapreduce,不足一年,tez兴,后入此道。朝夕不倦,发愤图强,才能略知一二。无奈后浪推前浪,tez被spark拍在沙滩上,遂投spark之怀。继而抖擞精神,奋袂而起,github、stackoverflow轮番上阵,终七窍通六窍。然...

2018-08-24 10:02:23

阅读数:763

评论数:4

Hadoop里的设计模式之单例模式

单例模式是创建性模式之一,算是比较简单好理解的了。 单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 我们以Hadoop2.7版本中的ShutdownHookManager举例讲解单例模式的几个需要注意的地方: 1)将构造方法私有化。单例模式通常是在类内部提供一个可供使用的对...

2018-06-22 16:53:41

阅读数:377

评论数:0

查看线程数的几种方法

1 top top -H -p 如下 如果是查看系统中总的线程数,直接用top -H选项 2 pstree pstreee -p pid |wc -l 如果是查看系统中总的线程数,用pstree -p |wc -l 3 通过/proc cat /proc/17592/s...

2018-06-09 08:56:48

阅读数:1364

评论数:0

centos7.4安装图形界面并远程桌面连接

1 系统版本 CentOS release 6.2 (Final) 以下安装需要用root权限操作。 2 安装x windows yum groupinstall -y “X Window System”  //注意有引号 3 安装图形界面软件 GNOME yum groupin...

2018-05-10 17:55:08

阅读数:4889

评论数:0

mapreduce程序中避免reduce输出空文件

在mapreduce里,如果某个reduce输出为空,默认也会生成一个大小为0的文件。原因是reduce写的时候,不知道会不会有输出数据,所以默认初始化了一个文件。如果没有输出,close文件最终会生成一个空文件。如下。有几个缺点: 1)生成的很多小文件,对namenode形成一定压力 2)生...

2018-05-09 11:24:06

阅读数:1981

评论数:0

如何查看jvm中的各种参数以及默认值

1 标准参数 标准参数(-),所有的JVM实现都必须实现这些参数的功能,而且向后兼容; 通过命令 java即可查看 如下 where options include: -d32 use a 32-bit data model if available ...

2018-04-28 10:36:51

阅读数:3242

评论数:0

不同gc垃圾回收器组合及日志样例

不同的jvm参数所使用的老年代、年轻代组合如下图。 参数 新生代 老年代 -XX:+UseSerialGC Serial(DefNew) Serial Old -XX:+UseParNewGC ParNew Serial Old -...

2018-04-27 13:30:03

阅读数:450

评论数:0

Spark SQL中Join常用的几种实现

1、引言 Join是SQL语句中的常用操作,良好的表结构能够将数据分散在不同的表中,使其符合某种范式,减少表冗余、更新容错等。而建立表和表之间关系的最佳方式就是Join操作。 SparkSQL作为大数据领域的SQL实现,自然也对Join操作做了不少优化,今天主要看一下在SparkSQL中对于J...

2018-04-27 13:13:47

阅读数:1714

评论数:3

Understanding Hive joins in explain plan output

Hive is trying to embrace CBO(cost based optimizer) in latest versions, and Join is one major part of it. Understanding join best practices and use c...

2018-04-24 18:52:27

阅读数:109

评论数:0

hive中 bucket mapjoin 与 SMB join(Sort-Merge-Bucket)区别

1 bucket mapjoin 1.1 条件 1) set hive.optimize.bucketmapjoin = true; 2) 一个表的bucket数是另一个表bucket数的整数倍 3) bucket列 == join列 4) 必须是应用在map join的场景中 ...

2018-04-24 18:50:23

阅读数:589

评论数:0

Hive中mapjoin优化例子

1 基本信息 3个表,1个事实表,2个维度表 事实表 test_fact (mid string,sex_id string,age_id string ) 维度表dim_user_demography_age (age_id string,age_name string ) 维度表dim...

2018-04-24 16:24:12

阅读数:788

评论数:0

openjdk1.8执行jmap报错

openjdk版本 openjdk version "1.8.0_161" OpenJDK Runtime Environment (build 1.8.0_161-b14) OpenJDK 64-Bit Server VM (build 25.161-b14...

2018-04-23 11:50:09

阅读数:1298

评论数:1

Spark1.6内存管理(二) 实例讲解:Spark管理页面中Storage Memory是如何计算的?

书接上文: https://blog.csdn.net/wisgood/article/details/78069753 本文主要讲解879.0MB是如何算出来的?spark用的是1.6版本。 对应程序的参数设置为 spark-shell --executor-memory 15...

2018-04-08 13:11:47

阅读数:5804

评论数:0

Runtime.getRunTime.maxMemory为啥比Xmx指定的内存小

先贴一些程序代码 import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.MemoryPoolMXBean; p...

2018-04-08 12:05:33

阅读数:3176

评论数:0

64位jvm和32位jvm性能

原文引自于: http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#64bit_description 一般来说,64位jvm相比32位jvm能够处理更大的内存,但伴随而来的一个小的性能损失。 这是因为系统中的每个本地指...

2018-04-05 10:03:03

阅读数:3210

评论数:1

Java多线程-生产者消费者例子-使用阻塞队列(BlockingQueue)实现

import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.BlockingQueue; /** * Created by wisgood . */ public class ProducerCon...

2018-03-28 19:36:01

阅读数:2690

评论数:0

Java多线程-生产者消费者例子-使用Lock实现

import java.util.LinkedList; import java.util.List; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java....

2018-03-28 19:33:26

阅读数:469

评论数:0

提示
确定要删除当前文章?
取消 删除