自定义博客皮肤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的博客

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

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

原创 Mybatis源码解析

做为一个java web开发人员,你也许对Spring+Spring Boot+Mybatis的架构早已烂熟于心,上来你可能就可以直接写业务代码,ok 没问题,但是作为你最熟悉的Mybatis,ORM框架之一,也许问你怎么开发DAO层, 也许你可以不加思索的说出答案。建一个接口,写对应的map.xml文件,但是有没有想过,框架的执行原理是什么?为什么我们写这么少的代码,就可以替代我们之前用原生jd

2017-10-17 11:46:21 404 1

原创 可靠消息服务在支付领域的应用

可靠消息服务在支付领域的应用

2017-08-09 11:27:53 513

原创 Spark之RDD

Spark RDD弹性分布式数据集【三大特点:分布式,高容错,弹性】

2017-03-03 15:12:51 533

原创 Storm通信机制

Worker间的通信经常需要通过网络跨节点进行,Storm使用ZeroMQ或Netty(0.9以后默认使用)作为进程间通信的消息框架。Worker进程内部通信:不同worker的thread通信使用LMAX Disruptor来完成。         不同topologey之间的通信,Storm不负责,需要自己想办法实现,例如使用kafka等;worker进程间消息传递机制,消息的

2017-02-17 14:39:26 1508

原创 自定义RPC通讯框架,实现dubbo远程RPC服务治理功能

写这篇文章的时候,dubbo已经出了很久了,这个是在dubbo开源之前由我负责设计开发的一套RPC调用框架,满足我们公司的业务增长需要。一下是我们的方案架构图:《具体的代码有机会会在我的GitHub上进行开源.》

2017-01-06 10:31:57 1199

原创 hadoop之MapReducer作业的提交执行过程

debug信息列出要切片的所有文件:[DeprecatedRawLocalFileStatus{path=file:/D:/a.txt; isDirectory=false; length=58; replication=1; blocksize=33554432; modification_time=1481531168562; access_time=0; owner=; group=;

2016-12-14 15:01:54 954 1

原创 Maven常用命令 - 构建反应堆中指定模块

mvn -h 可以看到很多命令及其用途;-am --also-make 同时构建所列模块的依赖模块;-amd -also-make-dependents 同时构建依赖于所列模块的模块;-pl --projects <arg> 构建制定的模块,模块间用逗号分隔;-rf -resume-from <arg> 从指定的模块恢复反应堆。假设有如下聚合模块:account...

2018-12-14 13:11:06 2011

原创 Centos7服务器启动jar包项目最佳方式

在linux上运行jar包谁都会啊。为什么我还要单独拎出来讲呢。细心的朋友可能已经在标题中发现关键词Centos7和最佳方式。这就说明我不是随便写点东西水一篇博客的ヾ(◍°∇°◍)ノ゙ 首先Centos7 推荐我们这么运行项目首先执行命令:cd /etc/systemd/system到这个目录下,新建一个 yourProjectName.service,可以把yourPr...

2018-09-17 11:43:28 892

原创 centos7如何添加开机启动服务/脚本

一、添加开机自启服务在centos7中添加开机自启服务非常方便,只需要两条命令(以Jenkins为例):systemctlenablejenkins.service #设置jenkins服务为自启动服务sysstemctl start jenkins.service #启动jenkins服务二、添加开机自启脚本在centos7中增加脚本有两种常用的方法,以脚本autostar...

2018-09-17 11:38:11 913 1

原创 Spring Boot DATA JPA抓取SQL运行时的传递进去的参数信息

     在系统开发过程中,涉及到数据库操作都是SQL的天下,基于ORM的各类框架来简化开发;在JPA/Hibernate方案中,只提供了SQL的打印输出,但并未输入SQL的参数值是多少,这里将解决这个问题,告知具体如何来实现这个操作。1.  技术栈的介绍   JDK 1.8,  Spring Boot 2.0.3.RELEASE, Mysql 5.72.  依赖包    Spri...

2018-09-04 11:22:16 5085 3

原创 Spring Boot + Spring Data JPA项目配置多数据源

 在以前的常规项目中,直接XML配置文件中配置多个数据源即可,在最新推荐的做法中,我们使用配置类来设置。 首先配置两个数据源: package com.web.config; import javax.sql.DataSource; import org.springframework.beans.factory.annotation.Qualifier;import o...

2018-09-03 17:28:10 1606

原创 初步理解JWT并实践使用

JWT是一种用于双方之间传递安全信息的简洁的、URL安全的表述性声明规范。JWT作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以Json对象的形式安全的传递信息。因为数字签名的存在,这些信息是可信的,JWT可以使用HMAC算法或者是RSA的公私秘钥对进行签名。简洁(Compact): 可以通过URL,POST参数或者在HTTP header发送,因为数据量小...

2018-07-12 11:11:55 476

原创 Spring Security基本原理

2018-07-12 11:08:30 372

原创 SpringBoot使用AutoConfiguration自定义Starter

在我们学习SpringBoot时都已经了解到starter是SpringBoot的核心组成部分,SpringBoot为我们提供了尽可能完善的封装,提供了一系列的自动化配置的starter插件,我们在使用spring-boot-starter-web时只需要在pom.xml配置文件内添加依赖就可以了,我们之前传统方式则是需要添加很多相关SpringMVC配置文件。而spring-boot-start...

2018-05-23 12:16:38 2001

原创 Spring MVC @JsonView注解使用

@JsonView注解用来过滤序列化对象的字段属性,简单来说就是定义一个标签,根据controller的JsonView属性,将实体类中不同标签的属性进行分类显示。例: 首先定义一个view类,有两个接口Summary 和SummaryWithDetail :public class View { public interface Summary {} public interface...

2018-03-29 11:24:10 496

原创 基于Wiremock创建Mock Service平台

1、Wiremock工具介绍一般开发项目都会分模块进行,比如都会把前端和后端分开,在前端和后端里面也通常是分模块开发的。当开发进度不一致时,可以对依赖接口构建Mock Service,模拟不同输入/数据/场景,这样不至于影响本模块的开发进度。构建Mock Service方法很多,今天介绍Wiremock,Wiremock非常轻便易用,甚至不用编程,一个jar包基本够用了,当然,也可以把它引用写进测...

2018-03-29 09:52:25 1109

原创 java加解密之DES多种使用方式

比较常用的调用方式:DES     使用SecretKeyFactory 的秘钥     选择CBC模式     进行加解密。package com.bg.des;import java.security.SecureRandom;import javax.crypto.Cipher;import javax.crypto.KeyGenerator;import javax.crypt...

2018-03-01 16:49:12 5961

原创 什么是跨域?怎么解决跨域问题?

什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对javascript施加的安全限制。所谓同源是指,域名,协议,端口均相同,不明白没关系,举个栗子:http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)http://www.123.com/index.h

2017-12-20 13:17:58 315

原创 mongodb系列之--mongodb 主从配置与说明

一、mongodb主从复制配置主从复制是mongodb最常用的复制方式,也是一个简单的数据库同步备份的集群技术,这种方式很灵活.可用于备份,故障恢复,读扩展等. 最基本的设置方式就是建立一个主节点和一个或多个从节点,每个从节点要知道主节点的地址. 结构图: 配置主从复制的注意点:在数据库集群中要明确的知道谁是主服务器,主服务器只有一台.从服务器要知道自己的数据源

2017-12-19 17:18:09 1583

原创 Spring 的 BeanPostProcessor接口实现

今天学习了一下Spring的BeanPostProcessor接口,该接口作用是:如果我们需要在Spring容器完成Bean的实例化,配置和其他的初始化后添加一些自己的逻辑处理,我们就可以定义一个或者多个BeanPostProcessor接口的实现。  下面我们来看一个简单的例子: package com.spring.test.di; import org.sprin

2017-11-07 14:49:13 337

原创 接口与抽象类的应用(包括各自设计模式)

一,目标1)掌握抽象类和接口的实例化操作。2)掌握模板设计的作用。3)掌握工厂设计模式的作用。4)掌握代理设计模式的作用。5)掌握适配器模式的作用。6)掌握抽象类与接口的使用区别。二,具体内容2.1 为抽象类和接口实例化  在java中,可以通过对象的多态性,为抽象类和接口实例化,这样再使用抽象类和接口的时候就可以调用本子类中

2017-09-21 23:34:20 513

原创 JVM调优总结 -Xms -Xmx -Xmn -Xss

堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置:java -Xmx3550m -Xms3550m

2017-09-19 22:51:27 361

原创 Spring中@Autowired注解、@Resource注解的区别

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>细节>>>>>>>>>>>>>>>>>>>>>>>>>>>> byName byTypespring不但支持自己定义的@Autowired注解,还支持几个由JSR-250规范定义的注解,它们分别是@Resource、@PostConstruct以及@PreDestroy。  @Resource的作用相当于@Autowired,只

2017-08-18 10:58:57 289

原创 kafka windows单机安装测试

版本 kafka_2.10-0.8.2.1初步了解一下一下kafka的基本用法。win7 64 bitjdk1.71)下载kafka_2.10-0.8.2.1.tgz并解压(整合scala)2)修改配置文件(可选)config/zookeeper.properties  dataDir=/zookeeper这么写建到d盘根目录

2017-08-12 16:28:17 702

原创 漫谈数据仓库之拉链表(原理、设计以及在Hive中的实现)

0x00 前言本文将会谈一谈在数据仓库中拉链表相关的内容,包括它的原理、设计、以及在我们大数据场景下的实现方式。全文由下面几个部分组成:先分享一下拉链表的用途、什么是拉链表。通过一些小的使用场景来对拉链表做近一步的阐释,以及拉链表和常用的切片表的区别。举一个具体的应用场景,来设计并实现一份拉链表,最后并通过一些例子说明如何使用我们设计的这张表(因为现在Hive的大规模使用,

2017-08-10 13:43:19 3321 2

原创 漫谈数据仓库之维度建模

0x00 前言下面的内容,是笔者在学习和工作中的一些总结,其中概念性的内容大多来自书中,实践性的内容大多来自自己的工作和个人理解。由于资历尚浅,难免会有很多错误,望批评指正!概述数据仓库包含的内容很多,它可以包括架构、建模和方法论。对应到具体工作中的话,它可以包含下面的这些内容:以Hadoop、Spark、Hive等组建为中心的数据架构体系。各种数据建模方法,如维度

2017-08-10 13:42:18 428

原创 storm1.x支持主节点nimbus高可用 多master集群部署

storm集群搭建storm集群也是由主节点和从节点组成的。storm版本的变更:storm0.9.xstorm0.10.xstorm1.x前面这些版本里面storm的核心源码是由java+clojule组成的。storm2.x后期这个版本就是全部用java重写了。(阿里在很早的时候就对storm进程了重写,提供了jstorm,后期jstorm也加入到apach

2017-08-09 21:23:49 4655

原创 executor-cores参数并未对vcores生效的原因分析

虽然目前大多数平台内置Application在提交时,只配置了–num-executors和–executor-memory参数,但是其他APP的开发者可能会配置–executor-cores参数。举个例子:./Spark-submit –master yarn-client –executor-cores 4 –num-executors 6  –executor-memory 10

2017-08-09 11:16:29 549

原创 springBoot注解大全

一、注解(annotations)列表 @SpringBootApplication:包含了@ComponentScan、@Configuration和@EnableAutoConfiguration注解。其中@ComponentScan让spring Boot扫描到Configuration类并把它加入到程序上下文。@Configuration 等同于spring的XML配置文件;使用J

2017-08-02 10:21:20 703

原创 redis采用序列化方案存对象

为什么要实现序列化接口   当一个类实现了Serializable接口(该接口仅为标记接口,不包含任何方法定义),表示该类可以序列化.序列化的目的是将一个实现了Serializable接口的对象转换成一个字节序列,可以。 把该字节序列保存起来(例如:保存在一个文件里),以后可以随时将该字节序列恢复为原来的对象。甚至可以将该字节序列放到其他计算机上或者通过网络传输到其他计算机上恢复,只要该计

2017-08-01 10:52:37 615

转载 通向架构师的道路(第六天)之漫谈基于数据库的权限系统的设计

一、权限系统这一天将讲述一个基本的基于数据库的权限管理系统的设计,在这一天的课程的最后将讲述“左右值无限分类实现算法”如何来优化“系统菜单”的结构而告终。今天的内容和前几天的基础框架是一样的它们都属于基础知识,在这些基础知识上还可以扩展出无数的变种与进化设计。二、先来看客户的一个需求2.1 用户实际需求1.       所有的用户、角色可动态配置2.       所

2017-07-21 18:50:00 460

原创 ehcache 与spring相结合超时自动刷新缓存的框架搭建

我们在做J2EE工程中经常会碰到一些常量或者是一些不太用的数据。 这部分数据我们希望是把它放到一个共同的地方,然后大家都能去调用,而不用频繁调用数据库以提高web访问的效率。 这样的东西就是缓存(cache),对于缓存的正确理解是一块不太变动的数据,但是这块数据偶尔或者周期新会被变动的,如: 地区,分公司,省市。。。。。。 当系统一开始运行时,我们可以把一批静态的数

2017-07-21 17:34:20 685

原创 Spring Boot 集成Shiro和CAS

请大家在看本文之前,先了解如下知识点: 1、Shiro 是什么?怎么用? 2、Cas 是什么?怎么用? 3、最好有spring基础可以先看看这两篇文章,按照这2篇文章的内容做一遍: Spring Boot Shiro 权限管理 CAS单点登录首先看一下下面这张图: 第一个流程是单纯使用Shiro的流程。 第二个流程是单纯使用Cas的流程。 第三个图是

2017-07-20 18:52:01 572

原创 RCFile和ORCFile

1. RCFileRCFile文件格式是FaceBook开源的一种Hive的文件存储格式,首先将表分为几个行组,对每个行组内的数据进行按列存储,每一列的数据都是分开存储,正是先水平划分,再垂直划分的理念。在存储结构上: 如上图是HDFS内RCFile的存储结构,我们可以看到,首先对表进行行划分,分成多个行组。一个行组主要包括:16字节的HDFS同步块信息,主要是为了区分

2017-07-17 14:07:59 588

原创 hive中拉链表

在有些情况下,为了保持历史的一些状态,需要用拉链表来做,这样做目的在可以保留所有状态的情况下可以节省空间。拉链表适用于以下几种情况吧数据量有点大,表中某些字段有变化,但是呢变化的频率也不是很高,业务需求呢又需要统计这种变化状态,每天全量一份呢,有点不太现实,不仅浪费了存储空间,有时可能业务统计也有点麻烦,这时,拉链表的作用就提现出来了,既节省空间,又满足了需求。一般

2017-07-17 12:04:11 1614

原创 拉链表算法

所谓拉链,就是记录历史。记录一个事物从开始,一直到当前状态的所有变化的信息。    在历史表中对客户的一生的记录可能就这样几条记录,避免了按每一天记录客户状态造成的海量存储的问题:(NAME)人名 (START-DATE)开始日期 (END-DT)结束日期 (STAT)状态     client              19000101                      

2017-07-12 16:42:39 2055

原创 Java 信号量 Semaphore 介绍

Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。 Sem

2017-07-11 16:21:47 303

原创 Maven POM.xml 标签详解

pom作为项目对象模型。通过xml表示maven项目,使用pom.xml来实现。主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其他所有的项目相关因素。[html] view plain copyproject xmlns="http://maven.a

2017-07-11 16:08:09 426

转载 大数据竞赛平台——Kaggle 入门

原文链接:http://blog.csdn.net/u012162613/article/details/41929171大数据竞赛平台——Kaggle 入门篇这篇文章适合那些刚接触Kaggle、想尽快熟悉Kaggle并且独立完成一个竞赛项目的网友,对于已经在Kaggle上参赛过的网友来说,大可不必耗费时间阅读本文。本文分为两部分介绍Kaggle,第一部分简

2017-07-07 14:10:28 360

原创 使用maven profile实现多环境可移植构建

在开发过程中,我们的软件会面对不同的运行环境,比如开发环境、测试环境、生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置、日志文件配置、以及一些软件运行过程中的基本配置,那每次我们将软件部署到不同的环境时,都需要修改相应的配置文件,这样来回修改,是个很麻烦的事情。有没有一种方法能够让我们不用修改配置就能发布到不同的环境中呢?当然有,这就是接下来要做的事。当然,这里的

2017-07-04 11:13:30 232

数据库插入图片

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

2011-12-18

空空如也

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

TA关注的人

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