自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

kismet

大数据进行中ing~~

  • 博客(166)
  • 资源 (3)
  • 收藏
  • 关注

原创 数据库连接池

什么是数据库连接池(connection pool)数据库连接池,主要在于池(pool)。池技术在一定程度上可以明显优化服务器应用程序的性能,提高程序执行效率和降低系统资源开销。这里所说的池是一种广义上的池。简单来说,就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。我们可以通过设定连接池最大连接数来防止系统无尽的与数据库连接。更为重要的是我们可以通过连接池的管理机制监视数据库的连接的数量使用情况,为系统开发测

2020-11-16 22:47:53 712

转载 设计模式之MVC 模式

MVC 模式MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。Model(模型)- 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。 View(视图)- 视图代表模型包含的数据的可视化。 Controller(控制器)- 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。创建模型public class Student {...

2020-11-13 12:06:06 267

原创 设计模式之单例模式

单例模式public class Animal { //创建对象 private static Animal animal=new Animal(); //让构造函数为 private,这样该类就不会被实例化 private Animal(){} //获取唯一可用的对象 public static Animal getAnimal(){ return animal; } public void showAnimal(){

2020-11-12 15:59:51 317 2

原创 设计模式之工厂模式,抽象工厂模式

工厂模式先上代码://创建一个水果的接口public interface Fruit { void eat();}//创建实现水果接口的苹果实体类public class Apple implements Fruit { @Override public void eat() { System.out.println("eatApple"); }}//创建实现水果接口的橘子实体类public class Orange implements Fr

2020-11-11 16:53:34 166

原创 设计模式

根据设计模式的参考书设计模式 - 可复用的面向对象软件元素中所提到的,总共有 23 种设计模式。这些模式可以分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)、行为型模式(Behavioral Patterns)。当然,我们还会讨论另一类设计模式:J2EE 设计模式。序号 模式 & 描述 包括 1 创建型模式 这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接..

2020-11-11 09:53:08 95

原创 软件设计的七大原则 -- 单一职责原则 接口隔离原则 迪米特法则 合成复用原则

4、单一职责原则原则定义:这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。该原则提出对象不应该承担太多职责,如果一个对象承担了太多的职责,至少存在以下两个缺点:一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。实现原理:单一职责原则是最简单但又最难运用的原则,需要设计人员发现类的不同职责并将其分离,再封装到不同的类或模

2020-10-13 14:22:36 885

原创 软件设计的七大原则 --开闭原则 里氏替换原则 依赖倒置原则

在软件开发中,为了提高软件系统的可维护性和可复用性,增加软件的可扩展性和灵活性,程序员要尽量根据 7 条原则来开发程序,从而提高软件开发效率、节约软件开发成本和维护成本。这 7 种设计原则是软件设计模式必须尽量遵循的原则,各种原则要求的侧重点不同。其中,开闭原则是总纲,它告诉我们要对扩展开放,对修改关闭;里氏替换原则告诉我们不要破坏继承体系;依赖倒置原则告诉我们要面向接口编程;单一职责原则告诉我们实现类要职责单一;接口隔离原则告诉我们在设计接口的时候要精简单一;迪米特法则告诉我们要降低耦合度;合成复用原

2020-10-12 18:25:39 1848 2

原创 SpingBoot 集成 Swagger2 --超nice!!!

从前:开发人员创建一份 RESTful API 文档来用来记录所有的接口细节。但是,会有一下问题的出现: API 接口众多,细节复杂,需要考虑不同的HTTP请求类型、HTTP头部信息、HTTP请求内容等,想要高质量的完成这份文档需要耗费大量的精力; 难以维护。随着需求的变更和项目的优化、推进,接口的细节在不断地演变,接口描述文档也需要同步修订,可是文档和代码处于两个不同的媒介,除非有严格的管理机制,否则很容易出现文档、接口不一致的情况; 现在:Swagger2诞生!!!.

2020-09-11 14:52:20 136

原创 java springboot + mongo进行Aggregation聚合查询

Aggregation:参数说明:sql(Operators) where ($match) 、group by ($group)、having($match)、select($project)、order by($sort)、limit($limit) sum($sum)、count($sum)、join($lookup)/** project:列出所有本次查询的字段,包括查询条件的字段和需要搜索的字段;* match:搜索条件criteria* un...

2020-09-08 10:36:26 1406 3

原创 Mac 安装操作Mongodb

使用 curl 命令来下载安装:# 进入 /usr/localcd /usr/local# 下载sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-4.0.9.tgz# 解压sudo tar -zxvf mongodb-osx-ssl-x86_64-4.0.9.tgz# 重命名为 mongodb 目录sudo mv mongodb-osx-x86_64-4.0.9/ mongodb安装完成后,我

2020-09-04 14:25:12 215

原创 MongoDB 初识

1.什么是MongoDB MongoDB是一个基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。主要是海量数据的处理。2011年是文档数据库的一年,尽管一直在稳步发展势头,通过过去八年多的发展,现在有各种稳定的文档数据库从基于亚马逊和谷歌的云,到各种开放源码工具,尤其是MongoDB。2.MongoDB...

2020-09-02 19:24:41 230

原创 java ModelMapper对象转换

在项目中很多时候需要把Model和DTO两个模型类来回转换,保证Model对外是隐私的,同时类似密码之类的属性也能很好地避免暴露在外了.1.ModelMapper入口类ModelMapper这个工具的入口类就是ModelMapper,因此转换就需要从这个类入口.简单看下APIaddConverter() :顾名思义,添加转换器 addMappings() :添加映射器 createTypeMap() :创建A-B的转换器关系 getConfiguration() :获取配置 map.

2020-09-02 19:22:16 991

原创 java 通过MultipartFile完成Excel文件解析写入数据库 栗子版

准备数据库:CREATE TABLE `tb_user` ( `id` int NOT NULL, `user_name` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `age` int DEFAULT NULL, `sex` int DEFAULT NULL, `birthday` date DEFAULT NULL, `c...

2020-09-02 17:24:08 7569 5

原创 微服务之 zuul网关

通过前面的学习,使用Spring Cloud实现微服务的架构基本成型,大致是这样的:我们使用Spring Cloud Netflix中的Eureka实现了服务注册中心以及服务注册与发现;而服务间通过Ribbon或Feign实现服务的消费以及均衡负载;为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延。使用Zuul作为服务网关,进行鉴权、动态路由、负载均衡。在该架构中,我们的服务集群包含:内部服务Service A和Service B,他们都

2020-08-26 19:37:13 215

原创 java --反射机制 回调函数

今天看到过滤器跟拦截器的时候,发现他们的区别有一点就是:拦截器是基于java的反射机制的,而过滤器是基于函数回调。有点不大明白,就查了一下,做个记录!先从简单的开始!什么是java的回调函数?栗子1:你去图书馆借两本书,但是只有一本有,另外一本被别人借走了,于是你就先借了一本,跟管理员说,等第二本到了,跟你打电话,你来拿。上面的过程就相当于一个回调函数,你是回调对象,管理员是控制器对象,打电话是回调的方法。栗子2: A a=new A; B b=new B;int

2020-08-25 14:49:09 456

原创 微服务之 Hystrix熔断,Feign远程调用

上期回顾:1 Eureka:注册中心,服务提供方将ip地址端口信息注册到eureka中,服务消费方从eureka拉取服务,服务提供方每隔30s自动续约,服务消费方每隔30自动拉取服务--------------类似滴滴2 Ribbon:负载均衡器。SpringCloud中的负载均衡器,默认随机和轮询的负载均衡算法。为了保证服务的高可用,在搭建集群之后,集群中的某个节点挂了,默认情况下,系统可能会出问题,我们需要设置ribbon的重试信息。Hystrix熔断器1.简介2.熔断.

2020-08-20 14:25:40 475

原创 微服务之 Eureka注册中心,Ribbon负载均衡 --代码实践

1.微服务场景模拟:服务提供者我们新建一个项目,对外提供查询用户的服务。创建数据库CREATE TABLE `tb_user` ( `id` int(11) NOT NULL, `user_name` varchar(50) DEFAULT NULL, `password` varchar(50) DEFAULT NULL, `name` varchar(50) DEFAULT NULL, `age` int(11) DEFAULT NULL, `sex`.

2020-08-19 16:28:00 307

原创 微服务之 Eureka注册中心,Ribbon负载均衡 --理论梳理

先举个栗子!!!网约车:在网约车出现以前,人们出门叫车只能叫出租车。一些私家车想做出租却没有资格,被称为黑车。而很多人想要约车,但是无奈出租车太少,不方便。私家车很多却不敢拦,而且满大街的车,谁知道哪个才是愿意载人的。一个想要,一个愿意给,就是缺少引子,缺乏管理啊。此时滴滴这样的网约车平台出现了,所有想载客的私家车全部到滴滴注册,记录你的车型(服务类型),身份信息(联系方式)。这样提供服务的私家车,在滴滴那里都能找到,一目了然。此时要叫车的人,只需要打开APP,输入你的目的地,选择车型(服务

2020-08-14 11:38:01 292

原创 SQL--索引(栗子版)

SQL索引在数据库优化中占有一个非常大的比例,一个好的索引的设计,可以让你的效率提高几十甚至几百倍。1.什么是索引SQL索引有两种,聚集索引和非聚集索引。先不说概念,举个栗子:字典例:字典前面的目录,可以按照拼音和部首去查询,我们想查询一个字,只需要根据拼音或者部首去查询,就可以快速的定位到这个汉字了,这个就是索引的好处,拼音查询法就是聚集索引,部首查询就是一个非聚集索引.概念:聚集索引存储记录是物理上连续存在,而非聚集索引是逻辑上的连续,物理存储并不连续。就像字段,聚集索引是.

2020-08-12 16:00:01 128

原创 java面向对象///抽象类与接口

面向对象面向对象简称 OO(Object Oriented),20 世纪 80 年代以后,有了面向对象分析(OOA)、 面向对象设计(OOD)、面向对象程序设计(OOP)等新的系统开发方式模型的研究。对Java语言来说,一切皆是对象。把现实世界中的对象抽象地体现在编程世界中,一个对象代表了某个具体的操作。一个个对象最终组成了完整的程序设计,这些对象可以是独立存在的,也可以是从别的对象继承过来的。对象之间通过相互作用传递信息,实现程序开发。对象:对象是系统中用来描述客观事物的一个实体,它是构成

2020-08-12 09:01:57 157

原创 SpringBoot整合Redis --无一多余的实例

1.配置链接Redisapplication.properties# Redis服务器地址spring.redis.host=localhost# Redis服务器连接端口spring.redis.port=6379# Redis服务器连接密码,默认为空spring.redis.password=# 连接超时时间(毫秒)spring.redis.timeout=50002.传入单个值/** * @author kismet * @date 2020/8/11 10:1

2020-08-11 16:20:37 140

原创 java GC介绍 ///内存方面的面试题

1、GC“GC”:垃圾收集 Garbage Collection每个程序员都遇到过内存溢出的情况,程序运行时,内存空间是有限的,那么如何及时的把不再使用的对象清除将内存释放出来,这就是GC要做的事。GC所在区域:GC所在的内存区域为堆与方法区内,因为jvm中,程序计数器、虚拟机栈、本地方法栈都是随线程而生随线程而灭,栈帧随着方法的进入和退出做入栈和出栈操作,实现了自动的内存清理。判断一个对象是否还活着:需要进行回收的对象就是已经没有存活的对象,判断一个对象是否存活常用的有两种办法:.

2020-08-11 07:47:31 116

原创 Java 多线程回顾

进程和线程进程是程序的一次动态执行过程,它需要经历从代码加载,代码执行到执行完毕的一个完整的过程,这个过程也是进程本身从产生,发展到最终消亡的过程。多进程操作系统能同时达运行多个进程(程序),由于 CPU 具备分时机制,所以每个进程都能循环获得自己的CPU 时间片。由于 CPU 执行速度非常快,使得所有程序好像是在同时运行一样。多线程是实现并发机制的一种有效手段。进程和线程一样,都是实现并发的一个基本单位。线程是比进程更小的执行单位,线程是进程的基础之上进行进一步的划分。所谓多线程是指一个进程在执行

2020-08-10 14:13:15 116

原创 JDK,JRE,JVM这三者的联系与区别///java跨平台///堆、栈、常量区、静态区、方法区的区别

JDK,JRE,JVM这三者的联系与区别JDK :(Java开发工具包)JDK是整个JAVA的核心,包括了Java运行环境(Java Runtime Envirnment),一堆Java工具(javac/java/jdb等)和Java基础的类库(即Java API包括rt.jar)。JRE:(java运行时环境)也就是我们说的JAVA平台,所有的Java程序都要在JRE下才能运行。包括JVM和JAVA核心类库和支持文件。与JDK相比,它不包含开发工具——编译器、调试器和其它工具。JVM:...

2020-08-10 08:23:35 192

转载 QueryDSL-JPA --SpringBoot环境下搭建测试QueryDSL-JPA

一、环境配置1. 引入maven依赖 <!-- querydsl --> <dependency> <groupId>com.querydsl</groupId> <artifactId>querydsl-jpa</artifactId> </dependency> <dependen

2020-08-04 15:55:44 486

原创 Springboot循环依赖

org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name '*******Controller': Unsatisfied dependency expressed through field '*******Service'; nested exception is org.springframework.beans.factory.UnsatisfiedDependen.

2020-08-03 11:24:38 415

原创 机械学习 --客户价值模型 RFM

RFM模型引入比如电商网站要做一次营销活动,需要针对不同价值的客户群体进行分群,对于高价值的用户推荐手表,珠宝等高端商品,对于低价值用户推荐打折促销的廉价商品,当然还有以下这些问题都是需要考虑的:1.谁是我的最佳客户?2.谁即将要成为流失客户?3.谁将有潜力成为有价值的客户4.哪些客户能够留存?5.哪些客户会对你目前对活动有所反应?那么最终的问题是如何对客户进行分群,即如何建立客户的价值模型呢?在传统企业和电商众多的客户细分模型中,RFM模型是被广泛提到和使用的。RFM模

2020-06-19 20:07:57 2614

原创 机器学习 --基础入门介绍 他来啦!!!

行业热词解释机器学习基本术语假如我们有一组天气数据,是来自全世界不同国家和地区的每日天气,内容包括最高温度、最低温度、平均湿度、风速之类的相关数据,例如数据的一部分是这样的: 城市 最高温度 最低温度 相对湿度 某时刻风速 A市 36℃ 28℃ 58% 16.7km/h...

2020-06-19 16:06:31 1583

原创 zookeeper启动报错:already running as process

通过脚本启动zookeeper集群,发现主节点zookeeper进程并未起来,其余节点zookeeper进程都起来了查看zookeeper·的启动脚本可以发现Zookeeper的进程名叫QuorumPeerMain于是手动启动了一下主节点的zookeeper,发现报错:JMX enabled by defaultUsing config: /export/servers/zookeeper-3.4.5-cdh5.14.0/bin/../conf/zoo.cfgStarti.

2020-06-06 11:20:37 3636

原创 Oozie --任务的查看,杀死 Oozie和Azkaban来做对比

查看所有普通任务oozie jobs -oozie http://bd001:11000/oozie查看定时任务oozie jobs -oozie http://bd001:11000/oozie -jobtype coordinator杀死某个任务oozie可以通过jobid来杀死某个定时任务oozie job -kill [id]例如我们可以使用命令 oozie job -oozie http://bd001:11000/oozie -kill 0...

2020-06-03 11:01:01 1157

原创 Oozie --oozie的使用

oozie的使用 KEY 含义 nameNode HDFS地址 jobTracker jobTracker(ResourceManager)地址 queueName Oozie队列(默认填写default) examplesRoot 全局目录(默认填写examples) oozie.usr.

2020-06-02 16:08:12 1737 1

原创 Oozie --入门安装介绍

Oozie的介绍Oozie是运行在hadoop平台上的一种工作流调度引擎,它可以用来调度与管理hadoop任务,如,MapReduce、Pig等。oozie的组件介绍workFlow:工作流,定义工作流任务的执行,主要由一个个的action组成,每个action都是一个任务,在xml中进行配置即可Coordinator:协作器,可以理解为工作流的协调器,可以将多个工作流协调成一个工作流来进行处理。也是oozie当中的定时任务调度的模块,Bundle:捆,束。多个Coordinat..

2020-06-02 15:11:10 2360

原创 点击流分析

点击流概念点击流(Click Stream)是指用户在网站上持续访问的轨迹。注重用户浏览网站的整个流程。用户对网站的每次访问包含了一系列的点击动作行为,这些点击行为数据就构成了点击流数据(Click Stream Data),它代表了用户浏览网站的整个流程。点击流和网站日志是两个不同的概念,点击流是从用户的角度出发,注重用户浏览网站的整个流程;而网站日志是面向整个站点,它包含了用户行为数据、服务器响应数据等众多日志信息,我们通过对网站日志的分析可以获得用户的点击流数据。点击流模型完全是业务模型,

2020-05-19 20:53:26 2943

原创 kylin --Kylin Cube优化

Cuboid剪枝优化为什么要进行Cuboid剪枝优化将以减少Cuboid数量为目的的Cuboid优化统称为Cuboid剪枝。在没有采取任何优化措施的情况下,Kylin会对每一种维度的组合进行预计算,每种维度的组合的预计算结果被称为Cuboid。如果有4个维度,可能最终会有2^4 =16个Cuboid需要计算。但在实际开发中,用户的维度数量一般远远大于4个。 如果有10个维度,那么没有经过任何优化的Cube就会存在2^10 =1024个Cuboid 如果有20个维度,那么Cube中总共会存在2

2020-05-18 10:53:58 780

原创 kylin -- 使用JDBC连接操作Kylin

(数据见资源包kylin)要将数据以可视化方式展示出来,需要使用Kylin的JDBC方式连接执行SQL,获取Kylin的执行结果使用Kylin的JDBC与JDBC操作MySQL一致jdbc urljdbc:kylin://node1:7070/tt01 用户名密码:ADMIN/KYLIN需求通过JDBC方式,查询按照日期、区域、产品维度统计订单总额/总数量结果开发步骤导入驱动依赖<dependencies> <!-- Kylin --> ...

2020-05-17 11:17:17 3136

原创 Kylin -- 增量构建 自动合并分区 自动删除Segment

增量构建应用场景Kylin在每次Cube的构建都会从Hive中批量读取数据,而对于大多数业务场景来说,Hive中的数据处于不断增长的状态。为了支持Cube中的数据能够不断地得到更新,且无需重复地为已经处理过的历史数据构建Cube,因此对于 Cube引入了增量构建的功能理解Cube、Cuboid与Segment的关系Kylin将Cube划分为多个Segment(对应就是HBase中的一个表),每个Segment用起始时间和结束时间来标志。Segment代表一段时间内源数据的预计算结果。一个Segm

2020-05-16 19:09:56 2323

原创 kylin -- 入门实战演练!!!

按照日期统计订单总额/总数量(Kylin方式)(测试资源请见kylin资源包!)要使用Kylin进行OLAP分析,需要按照以下方式来进行。1、创建项目(Project)2、创建数据源(DataSource)指定有哪些数据需要进行数据分析3、创建模型(Model)指定具体要对哪个事实表、那些维度进行数据分析4、创建立方体(Cube)指定对哪个数据模型执行数据预处理,生成不同维度的数据5、执行构建、等待构建完成6、再执行SQL查询,获取结果从Cube中查询数据操作步骤

2020-05-16 18:36:38 2125

原创 kylin -- 快速入门概述

1.快速入门概述1.1 Kylin 定义 Apache Kylin 是一个开源的分布式分析引擎,提供 Hadoop/Spark 之上的 SQL 查询接口 及多维分析(OLAP)能力以支持超大规数据,最初由 eBay Inc 开发并贡献至开源社区。 它能在亚秒内查询巨大的 Hive 表。1.2 Kylin 特点 Kylin 的主要特点包括支持 SQL 接口、支持超大规模数据集、亚秒级响应、可伸缩性、高吞吐率、BI 工具集成等。 1)标准 SQL 接口:Kylin 是以标准的 ..

2020-05-16 18:21:43 1816

原创 Kylin --入门安装介绍

Kylin 大数据OLAP引擎Kylin简介Kylin的诞生背景Kylin-中国团队研发的,是第一个真正由中国人自己主导、从零开始、自主研发、并成为Apache顶级开源项目 Hive的性能比较慢,支持SQL灵活查询,特别慢 HBase的性能快,原生不支持SQL- phoenix:可以写sql语句来查询hbase!! Kylin是将先将数据进行预处理,将预处理的结果放在HBase中。效率很高Kylin的应用场景 Kylin 典型的应用场景如下:用户数据存在于Hadoop HDFS.

2020-05-13 16:33:36 987

原创 数据仓库 --拉链表技术介绍

拉链表:维护历史状态,以及最新状态数据的一种表,拉链表根据拉链粒度的不同,实际上相当于快照,只不过做了优化,去除了一部分不变的记录,通过拉链表可以很方便的还原出拉链时点的客户记录。数据仓库的数据模型设计过程中,经常会遇到这样的需求:表中的部分字段会被update,例如: 用户的地址,产品的描述信息,品牌信息等等; 需要查看某一个时间点或者时间段的历史快照信息,例如: 查看某一个产品在历史某一时间点的状态 查看某一个用户在过去某一段时间内,更新过几次等等 变化的比例和频率不是

2020-05-12 11:26:35 1024

java POI 通过MultipartFile删除Excel文件解析写入数据库

java POI 通过MultipartFileExcel文件解析写入数据库

2020-09-02

kylin资源包(hbase安装,kylin安装,安装测试题)

为个人方便后期巩固安装配置kylin,其中包括相对应的habse安装包,安装步骤,kylin安装的测试题

2020-05-13

kylin.rar为kylin.properties的配置

修改 资料配置文件\kylin.properties 中HDFS的路径,然后上传到 Linux的 Kylin/conf文件夹中

2020-05-13

空空如也

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

TA关注的人

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