自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

bbaiggey_bigdata的博客

专注大数据 ---架构设计

  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 spark使用KryoRegistrator java代码示例

最近在使用spark开发过程中发现当数据量很大时,如果cache数据将消耗很多的内存。为了减少内存的消耗,测试了一下 Kryo serialization的使用代码包含三个类,KryoTest、MyRegistrator、Qualify。 我们知道在Spark默认使用的是Java自带的序列化机制。如果想使用Kryo serialization,只需要添加KryoTest类中的红色部

2016-07-21 17:15:19 736

原创 Spark OOM:java heap space,OOM:GC overhead limit exceeded解决方法

问题描述:在使用spark过程中,有时会因为数据增大,而出现下面两种错误:java.lang.OutOfMemoryError: Java heap spacejava.lang.OutOfMemoryError:GC overhead limit exceeded这两种错误之前我一直认为是executor的内存给的不够,但是仔细分析发现其实并不是executor内

2016-07-21 17:14:40 1742

原创 spark通过合理设置spark.default.parallelism参数提高执行效率

spark中有partition的概念(和slice是同一个概念,在spark1.2中官网已经做出了说明),一般每个partition对应一个task。在我的测试过程中,如果没有设置spark.default.parallelism参数,spark计算出来的partition非常巨大,与我的cores非常不搭。我在两台机器上(8cores *2 +6g * 2)上,spark计算出来的partit

2016-07-21 17:12:09 36120 1

原创 Java多线程总结之线程安全队列Queue

在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列。Java提供的线程安全的Queue可以分为阻塞队列和非阻塞队列,其中阻塞队列的典型例子是BlockingQueue,非阻塞队列的典型例子是ConcurrentLinkedQueue,在实际应用中要根据实际需要选用阻塞队列或者非阻塞队列。注:什么叫线程安全?这个首先要明确。线程安全的类 ,指的是类内共享的全局变量的

2016-07-21 15:26:45 4007

原创 1.Spring实现数据库的读写分离

现在大型的电子商务系统,在数据库层面大都采用读写分离技术,就是一个Master数据库,多个Slave数据库。Master库负责数据更新和实时数据查询,Slave库当然负责非实时数据查询。因为在实际的应用中,数据库都是读多写少(读取数据的频率高,更新数据的频率相对较少),而读取数据通常耗时比较长,占用数据库服务器的CPU较多,从而影响用户体验。我们通常的做法就是把查询从主库中抽取出来,采用多个从库,

2016-07-21 10:34:44 5056

原创 Spring中的两种AOP织入方式

Spring实现aop是依赖两种技术,一种是jdk动态代理,被切入的类需要实现接口,如果在配置文件中不指明实现什么接口,spring会自动搜索其实现接口并织入advice,别一种是借助动态修改类的技术,使用cglib动态地扩展类来实现切面,cglib可以实现字节码级地修改,执行效率比jdk动态代理要高,但创建实例时没有前者快.默认情况下,使用jdk动态代理,通过下面的配置,可以显式指明

2016-07-21 09:28:40 2473

原创 差速锁与限滑差速器的区别

鉴于国内一些SUV厂商玩文字游戏,忽悠不明真相的群众,故而发此帖。本文仅是普及基础知识,并非黑某一汽车厂商。特此说明。  一、差速器:汽车直行时,动力平均传递给左右半轴(半轴,即驱动车轮的轴)。而转弯时,两侧车轮运动轨迹不同。内侧车轮行驶半径小,外侧车轮行驶半径大,这就需要一个装置来调节左右半轴的转速差,即所谓的“差速器”。差速器的作用,是保证在向左右半轴传输动力的同时,又允许左右半轴以不同的

2016-07-07 09:32:16 5424

原创 Spark RDD中cache和persist的区别

通过观察RDD.scala源代码即可知道cache和persist的区别:def persist(newLevel: StorageLevel): this.type = {  if (storageLevel != StorageLevel.NONE && newLevel != storageLevel) {    throw new UnsupportedOp

2016-07-05 22:56:02 1149

原创 Netty4.0学习笔记系列之六:多种通讯协议支持

上文介绍了如何应用Netty开发自定义通讯协议,本文在此基础上进一步深化,研究如何同时支持不同的通讯协议。此处所谓的通讯协议,指的是把Netty通讯管道中的二进制流转换为对象、把对象转换成二进制流的过程。转换过程追根究底还是ChannelInboundHandler、ChannelOutboundHandler的实现类在进行处理。ChannelInboundHandler负责把二进制流转换

2016-07-02 18:59:36 3356

原创 Netty4.0学习笔记系列之五:自定义通讯协议

Netty中,通讯的双方建立连接后,会把数据按照ByteBuf的方式进行传输,例如http协议中,就是通过HttpRequestDecoder对ByteBuf数据流进行处理,转换成http的对象。基于这个思路,我自定义一种通讯协议:Server和客户端直接传输java对象。实现的原理是通过Encoder把java对象转换成ByteBuf流进行传输,通过Decoder把ByteBuf转换成j

2016-07-02 18:58:52 637

原创 Netty4.0学习笔记系列之四:混合使用coder和handler

Handler如何使用在前面的例子中已经有了示范,那么同样是扩展自ChannelHandler的Encoder和Decoder,与Handler混合后又是如何使用的?本文将通过一个实际的小例子来展示它们的用法。该例子模拟一个Server和Client,两者之间通过http协议进行通讯,在Server内部通过一个自定义的StringDecoder把httprequest转换成String。S

2016-07-02 18:58:02 976 1

原创 Netty4.0学习笔记系列之三:构建简单的http服务

本文主要介绍如何通过Netty构建一个简单的http服务。想要实现的目的是:1、Client向Server发送http请求。2、Server端对http请求进行解析。3、Server端向client发送http响应。4、Client对http响应进行解析。在该实例中,会涉及到http请求的编码、解码,http响应的编码、解码,幸运的是,Netty已经

2016-07-02 18:57:26 663

原创 Netty4.0学习笔记系列之二:Handler的执行顺序

Handler在netty中,无疑占据着非常重要的地位。Handler与Servlet中的filter很像,通过Handler可以完成通讯报文的解码编码、拦截指定的报文、统一对日志错误进行处理、统一对请求进行计数、控制Handler执行与否。一句话,没有它做不到的只有你想不到的。Netty中的所有handler都实现自ChannelHandler接口。按照输出输出来分,分为ChannelI

2016-07-02 18:56:51 3139

原创 Netty4.0学习笔记系列之一:Server与Client的通讯

本文是学习Netty的文章,主要对Netty的Server和Client间的通讯机制进行验证。Server与Client建立连接后,会执行以下的步骤:1、Client向Server发送消息:Are you ok?2、Server接收客户端发送的消息,并打印出来。3、Server端向客户端发送消息:I am ok!4、Client接收Server端发送的消息,

2016-07-02 18:55:22 649

转载 netty 学习 (1)

摘要本文是学习Netty的第一篇文章,主要对Netty的Server和Client间的通讯机制进行验证。Server与Client建立连接后,会执行以下的步骤: 1、Client向Server发送消息:Are you ok? 2、Server接收客户端发送的消息,并打印出来。 3、Server端向客户端发送消息:I am ok! 4、Client接收Server端发

2016-07-02 18:40:29 344

数据库插入图片

数据库访问 使用MYSQL数据库,能够完成数据的批量增加、更新、删除操作,以及能够将文件、图片等大资源插入数据库。

2011-12-18

空空如也

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

TA关注的人

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