自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(530)
  • 资源 (31)
  • 论坛 (1)
  • 收藏
  • 关注

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

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

2018-01-27 10:19:29 10388 2

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

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

2017-08-10 22:55:22 22269 1

原创 hive 的 left semi join 讲解

介绍LEFT SEMI JOIN (左半连接)是 IN/EXISTS 子查询的一种更高效的实现。Hive 当前没有实现 IN/EXISTS 子查询,所以可以用LEFT SEMI JOIN 重写你的子查询语句。示例可以改写为特点1、left semi join 的限制是, JOIN 子句中右边的表只能在 ON 子句中设置过滤条件,在 WHERE 子句...

2019-11-12 11:26:57 232

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

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

2018-11-10 18:00:58 5456 1

原创 多年大数据开发经验总结

多年工作经验总结初入行,搞大数据开发。得高人指点,先学mapreduce,不足一年,tez兴,后入此道。朝夕不倦,发愤图强,才能略知一二。无奈后浪推前浪,tez被spark拍在沙滩上,遂投spark之怀。继而抖擞精神,奋袂而起,github、stackoverflow轮番上阵,终七窍通六窍。然乾坤更替,岁月不复,spark转眼成过眼烟云,flink、 beam之流成业界新宠,一时洛阳纸贵,众人...

2018-08-24 10:02:23 3639 11

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

单例模式是创建性模式之一,算是比较简单好理解的了。单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。我们以Hadoop2.7版本中的ShutdownHookManager举例讲解单例模式的几个需要注意的地方: 1)将构造方法私有化。单例模式通常是在类内部提供一个可供使用的对象,通过公共接口对外提供该对象。为了避免在类外面通过new的方式再次生成对象,通常都会将构造方法私有化...

2018-06-22 16:53:41 933

原创 查看线程数的几种方法

1 toptop -H -p 如下 如果是查看系统中总的线程数,直接用top -H选项 2 pstreepstreee -p pid |wc -l 如果是查看系统中总的线程数,用pstree -p |wc -l 3 通过/proccat /proc/17592/status 4 通过/procll /proc/17592/task/|wc -l ...

2018-06-09 08:56:48 19637

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

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

2018-05-10 17:55:08 15609 3

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

在mapreduce里,如果某个reduce输出为空,默认也会生成一个大小为0的文件。原因是reduce写的时候,不知道会不会有输出数据,所以默认初始化了一个文件。如果没有输出,close文件最终会生成一个空文件。如下。有几个缺点: 1)生成的很多小文件,对namenode形成一定压力 2)生成的数据下个阶段处理的时候,这些空的文件会浪费掉一些计算资源。 3)看着不爽-rw-r--r--...

2018-05-09 11:24:06 5850

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

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

2018-04-28 10:36:51 16807

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

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

2018-04-27 13:30:03 797

原创 Spark SQL中Join常用的几种实现

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

2018-04-27 13:13:47 2382 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 cases is one key factor of Hive performance tunning....

2018-04-24 18:52:27 236

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

1 bucket mapjoin1.1 条件1) set hive.optimize.bucketmapjoin = true; 2) 一个表的bucket数是另一个表bucket数的整数倍 3) bucket列 == join列 4) 必须是应用在map join的场景中1.2 注意1)如果表不是bucket的,只是做普通join。2 SMB join (...

2018-04-24 18:50:23 3342

原创 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_user_demography_sex (sex_id string,sex_name strin...

2018-04-24 16:24:12 2496

原创 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, mixed mode)执行jmap -heap 报错 jmap -heap 17694 Attaching to pro...

2018-04-23 11:50:09 4389 3

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

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

2018-04-08 13:11:47 8797

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

先贴一些程序代码import java.lang.management.ManagementFactory;import java.lang.management.MemoryMXBean;import java.lang.management.MemoryPoolMXBean;public class MemoryDemo { static String mb(long ...

2018-04-08 12:05:33 6711

翻译 64位jvm和32位jvm性能

原文引自于: http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#64bit_description 一般来说,64位jvm相比32位jvm能够处理更大的内存,但伴随而来的一个小的性能损失。 这是因为系统中的每个本地指针在64位jvm上都占用8个字节而不是4个。加载这些额外的数 据会影响内存使用量,这会导致执行速度稍...

2018-04-05 10:03:03 6563 1

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

import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.BlockingQueue;/** * Created by wisgood . */public class ProducerConsumerWithBlockingQueueDemo { public static void...

2018-03-28 19:36:01 3957

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

import java.util.LinkedList;import java.util.List;import java.util.concurrent.locks.Condition;import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;/** * Create...

2018-03-28 19:33:26 1646

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

import java.util.LinkedList;import java.util.List;/** * Created by wisgood . */public class ProducerConsumerWithSynchronizedDemo { public static void main(String[] args) { ProductFac...

2018-03-28 19:31:09 472

转载 深入理解ThreadLocal

学习JDK中的类,首先看下JDK API对此类的描述,描述如下:该类提供了线程局部 (thread-local) 变量。这些变量不同于它们的普通对应物,因为访问某个变量(通过其 get 或 set 方法)的每个线程都有自己的局部变量,它独立于变量的初始化副本。ThreadLocal其实就是一个工具类,用来操作线程局部变量,ThreadLocal 实例通常是类中的 private stati

2017-12-23 15:50:29 372

原创 Spark打印每个split及其对应文件

Spark打印每个split及其对应文件

2017-10-03 10:33:39 1428 1

原创 Spark1.6内存管理(一)

从1.6.0版本开始,Spark内存管理模型发生了变化。旧的内存管理模型由StaticMemoryManager类实现,现在称为“legacy(遗留)”。默认情况下,“Legacy”模式被禁用,这意味着在Spark 1.5.x和1.6.0上运行相同的代码会导致不同的行为。为了兼容,您可以使用spark.memory.useLegacyMode参数启用“旧”内存模型。 1.6.0及以后版本,使用的...

2017-09-23 11:33:24 1081

原创 Spark中executor-memory参数详解

Spark中executor-memory参数详解

2017-09-05 21:42:16 23162 3

原创 hadoop中查找某个字符串所在的hdfs位置

hadoop中查找某个字符串所在的hdfs位置

2017-08-29 09:38:27 5189

原创 hadoop节点字符编码导致的reduce重复记录问题排查

hadoop节点字符编码导致的reduce重复记录问题排查

2017-08-25 09:58:48 23965

原创 Hive中虚拟列

Hive中虚拟列

2017-08-25 09:48:37 1650 1

原创 spark读取kafka两种方式的区别

参考:http://spark.apache.org/docs/1.4.1/streaming-kafka-integration.html Receiver与Direct方法相比,后者具有以下优点。简化并行性无需创建多个输入Kafka流和联合它们。使用directStream,Spark Streaming将创建与要消费的Kafka分区一样多的RDD分区,这将从Kafka并行读取...

2017-08-23 22:31:19 2566

原创 Linux下调整/tmp目录大小

Linux下调整/tmp目录大小

2017-08-23 10:28:10 27991 1

转载 Spark踩坑记——Spark Streaming+Kafka

前言在WeTest舆情项目中,需要对每天千万级的游戏评论信息进行词频统计,在生产者一端,我们将数据按照每天的拉取时间存入了Kafka当中,而在消费者一端,我们利用了spark streaming从kafka中不断拉取数据进行词频统计。本文首先对spark streaming嵌入kafka的方式进行归纳总结,之后简单阐述Spark streaming+kafka在舆情项目中的应用,最后将自己

2017-07-26 10:22:01 2514 1

转载 Kafka无消息丢失配置

Kafka到底会不会丢数据(data loss)? 通常不会,但有些情况下的确有可能会发生。下面的参数配置及Best practice列表可以较好地保证数据的持久性(当然是trade-off,牺牲了吞吐量)。笔者会在该列表之后对列表中的每一项进行讨论,有兴趣的同学可以看下后面的分析。block.on.buffer.full = trueacks = allretries = MAX_VAL

2017-07-25 14:08:35 2701

转载 kafka consumer防止数据丢失

kafka最初是被LinkedIn设计用来处理log的分布式消息系统,因此它的着眼点不在数据的安全性(log偶尔丢几条无所谓),换句话说kafka并不能完全保证数据不丢失。 尽管kafka官网声称能够保证at-least-once,但如果consumer进程数小于partition_num,这个结论不一定成立。 考虑这样一个case,partiton_num=2,启

2017-07-25 13:25:24 3337

转载 Kafka Mirror Maker Best Practices

Short Description:Best Practices in running Kafka Mirror MakerArticleKafka's mirroring feature makes it possible to maintain a replica of an existing Kafka cluster. This tool uses Kafka cons

2017-07-25 13:07:27 1240

原创 java jvm gc常用参数

推荐用法-XX:+PrintGCDetails  -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -Xloggc:/home/gc.log1、-verbose:gc这个参数会输出虚拟机中GC的情况.使用后输出如下:[Full GC 168K->97K(1984K), 0.0253873 secs] 箭头前后的数据168K和97K分别表示垃圾收集GC...

2017-05-18 18:46:57 717 1

原创 Hive 查看函数(udf)定义及示例

Hive 查看函数(udf)定义及示例

2017-04-25 11:31:11 8519

原创 MapReduce任务中文部分正常,部分乱码

集群上提交的mr任务,发现结果中有的中文正常,有的中文是论码。分析了一下,应该是集群中hadoop节点的编码配置不一样。可以加上下面的参数:mapred.child.env="LANG=en_US.UTF-8,LC_ALL=en_US.UTF-8" ;

2017-02-20 10:29:18 878

转载 论SparkStreaming的数据可靠性和一致性

Driver HA由于流计算系统是长期运行、且不断有数据流入,因此其Spark守护进程(Driver)的可靠性至关重要,它决定了Streaming程序能否一直正确地运行下去。Driver实现HA的解决方案就是将元数据持久化,以便重启后的状态恢复。如图一所示,Driver持久化的元数据包括:Block元数据(图1中的绿色箭头):Receiv

2017-02-19 11:34:17 888

转载 Spark Streaming场景应用|Kafka数据读取方式

Spark Streaming 支持多种实时输入源数据的读取,其中包括Kafka、flume、socket流等等。除了Kafka以外的实时输入源,由于我们的业务场景没有涉及,在此将不会讨论。本篇文章主要着眼于我们目前的业务场景,只关注Spark Streaming读取Kafka数据的方式。 Spark Streaming 官方提供了两种方式读取Kafka数据:一是Receiver-based Ap...

2017-02-19 11:33:05 828

git详细中文教程

这本书的作者是github的员工。书写得非常棒,对分支等的讲解使用了很多配图,简单明了,把原理讲得非常易懂。 这书还有一个非常棒的部分就是针对不同的使用场景,设计了几个合适的版本管理策略,比如私有小项目该用什么方式控制,公共项目该用什么方式控制等,这个非常实用。 了解Git的使用,这一本书基本就够了,入门+进阶~

2014-03-28

hive函数大全 函数参考

hive函数大全 ,非常全的文档!

2013-12-17

BIEE11g 详细安装文档

BIEE11g非常详细的安装文档,亲自安装成功!

2013-11-08

BIEE11g 入门培训

BIEE11g 入门培训,非常适合初学者入门~

2013-11-08

数据结构(C语言版) 严蔚敏 吴伟民 带书签

数据结构(C语言版) 严蔚敏 吴伟民 带书签,清华大学出版的,经典教材

2013-04-10

Weka源代码详细分析系列

Weka源代码详细分析系列,和http://download.csdn.net/download/mythee/2238812里面是一模一样的,介绍的非常详细

2012-05-08

编程之美-微软技术面试心得

编程之美-微软技术面试心得,高清版,不知道这本书的自行百度之!

2012-04-18

ant apache 1.7 jar

ant apache 1.7 jar!java web开发常用jar包

2012-04-05

mysql jdbc驱动程序 jar包

mysql-connector-java-5.0.8-bin.jar mysql驱动程序 jar包

2012-04-05

oracle jar包 jdbc驱动程序

oracle jar包 jdbc驱动程序!java开发常用jar包

2012-04-05

sqlserver jar包 jdbc驱动

sqlserver jar包 jdbc驱动

2012-04-05

junit 3.8 jar包

junit 3.8 jar包

2012-04-05

Stuct2权威指指南完整版上

讲的是Struct2,非常适合初学者

2012-03-05

java rmi详解

java rmi 远程方法调用的例子,讲解的很详细!

2012-03-05

java spring全解 详细教程 原理

讲解spring的资料,非常适合初学者!!!

2012-03-05

poi xssf hssf excel 教程

java操作EXCEL的工作,包含详细的例子,很适合入门学习!

2011-10-30

poi excel 实战例子详解

poi操作excel的例子,讲的很详细,很适合入门者看!!!

2011-10-30

JAVA与模式 带标签 清晰版 阎宏

JAVA与模式,带标签,很清楚!讲解讲的很详细,例子也很好!

2011-10-24

设计模式可复用面向对象软件的基础

设计模式的开山之作,一句话:没看过此书,不要说懂设计模式!

2011-10-24

java编程思想 代码

java编程思想,java领域经典书籍。没有看过此书的,不要说懂JAVA

2011-10-24

数据挖掘概念技术资料

数据挖掘的基本概念和技术,很适合入门的资料!!!!!!!!!

2011-10-24

LDAP 资料代码实例

关于LDAP的资料,经常用的,包含新建,查询,删除,修改

2011-10-04

LDAP 资料代码实例

关于LDAP的资料,经常用的,包含新建,查询,删除,修改

2011-10-04

LDAP 资料代码实例

关于LDAP的资料,经常用的,包含新建,查询,删除,修改

2011-10-04

java io输入输出流介绍

讲解了JAVA中io操作,包含例子,代码!对初学者很有用

2011-10-04

java 泛型例子实例

JAVA介绍泛型,讲解的比较详细,带例子

2011-10-04

java 反射机制例子

讲解了JAVA中反射机制,包含例子,代码!对初学者很有用

2011-10-04

java8 32位 64位 jdk8 最新下载地址

java8 32位 64位 jdk8 最新下载地址

2018-01-06

阿里巴巴Java开发手册V1.2.0

阿里巴巴Java开发手册V1.2.0

2017-05-24

protobuf-2.5.0.tar.gz

protobuf-2.5.0.tar.gz

2015-07-06

rpmbuild-demo工程

一个rpm build打包的示例工程,下载完成后可以解压成/home/wang/rpmbuild目录,然后到SPEC目录中执行rpmbuild -ba dteworker-client.spec 即可完成打包

2015-01-21

wisgood的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

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