自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_44240370的博客

Java后端及云计算和大数据

  • 博客(18)
  • 收藏
  • 关注

原创 Spark SQL——开窗函数

开窗函数和聚合函数一样,都是对行的集合组进行聚合计算。开窗用于为行定义一个窗口(这里的窗口是指运算将要操作的行的集合),它对一组值进行操作,不需要使用group by子句对数据进行分组,能够在同一行中同时返回基础行的列和聚合列。开窗函数调用格式为:函数名(列) OVER(选项)第一类:聚合开窗函数 --> 排列函数(列)OVER(选项),这里的选项可以是PARTITION BY 子句,...

2019-11-30 12:41:52 1631

原创 Spark SQL——UDAF

Spark 的DataFrame提供了通用的聚合方法,比如count()、countDistinct()、avg()、max()、min()等等,但是这些函数是针对DateFrame设计的,当然Spark SQL也有类型安全的版本,Java和Scala语言接口都有,这些适用于强类型的DataSet。本文主要讲解一下Spark提供的两种聚合函数接口:UserDefinedAggregateFu...

2019-11-30 11:07:24 343

原创 Flink CEP简介

文章目录1、简介2、Flink CEP三种状态迁移边3、Flink CEP模式匹配过程1、简介Flink CEP是Flink的复杂事件处理库,允许用户快速快速检测无尽数据流中的复杂模式。但是CEP仅仅限于对DataStream API进行处理,Flink每个模式包含很多种状态,模式匹配过程就是状态转换的过程,每个状态可以理解成由Pattern构成,为了当前的状态转换成下一个状态,用户可以在Pa...

2019-11-22 11:15:51 910 1

原创 乐观锁和悲观锁

隔离级别就是在数据库事务中,为保证并发数据读写的正确性而提出的定义,并不是MySQL的专有概念,每种关系型数据库都提供了各自特色的隔离级别实现,通常定义中是以锁为实现单元,MySQL InnoDB为例是基于MVCC和锁的复合实现,按照隔离程序从低到高MySQL事务隔离级别分为四个不同层次:读未提交:就是一个事务能够看到其他事务尚未提交的修改,最低的隔离水平允许脏读出现读已提交:事务能够看到数...

2019-11-22 10:18:04 171

原创 Flink--实现基于key/value的ListState

1、ListState简介Flink提供了三种基于key/value的state的实现方式,分别是:ValueState<T>ListState<T>ReducingState<T>官方文档关于state的使用方法,参考这里:Working with StateListState需要将某些值存到一个List中(Iterable),意味着缓存的数据不...

2019-11-19 01:03:03 4770

原创 使用Jenkins实现持续集成

1、简介Jenkins能够实时监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象的展示项目构建的趋势和稳定性。特点如下:易安装:仅仅一个java-jar Jenkins.war从官网上下载即可,直接运行无需额外安装更无需安装数据库易配置:提供友好的GUI配置界面变更支持:Jenkins能从代码仓库中获取并产生代码更新列表并输出到编译输出信息中支持永久链接:用户是...

2019-11-16 21:24:03 187

原创 SpringCloud——Zuul

1、简介Zuul是Netflix开源的微服务网关,可以和Eureka、Feign、Hystrix等组件配合使用。Zuul核心是一系列的过滤器,可以完成很多的功能。身份认证与安全:识别每个资源的验证要求,并拒绝与要求不符的请求审查与监控:在边缘位置追踪有意义的数据和统计结果,从而带来精确的生产视图。动态路由:动态地将请求路由到不同不同的后端集群压力测试:逐渐增加指向集群的流量,以了解性能...

2019-11-15 20:42:56 110

原创 SpringCloud——Hystrix

1、Hystrix熔断器进行微服务开发的时候,基础服务故障会导致多级故障,进而最后导致整个系统都无法继续使用这种现象叫做雪崩现象。服务雪崩现象是因为服务提供者的不可用导致服务消费者的不可用,并且将这种问题不断放大的结果积少成多。于是使用Hystrix隔离出现问题的微服务。防止出现级联故障,同时提供失败回退机制,让系统可以从微服务中进行恢复。设计目标:回退任务优雅降级等待中快速失败并且迅...

2019-11-14 19:52:31 118

原创 SpringCloud——微服务调用Feign

文章目录1、Feign实现服务间调用2、使用方法1、Feign实现服务间调用Feign是简化Java Http客户端开发的工具(java-to-httpclient-binder),它的灵感来自于Retrofit、JAXRS-2.0和WebSocket,Feign的初衷是降低统一绑定Denominator到Http API的复杂度,不区分是否为RESTFul。那么话说回来什么叫做服务间的调用...

2019-11-13 09:26:27 255

原创 SpringCloud——Eureka

文章目录1、服务发现组件Eureka2、服务依赖搭建3、实现CS之前在JavaEE企业级开发专栏中也写过SpringCloud的文章,专栏的地址https://blog.csdn.net/weixin_44240370/article/category/8877050首先先来看一下SpringCloud和Dubbo的区别:1、服务发现组件EurekaEureka是Netflix开发的服务...

2019-11-13 08:53:41 100

原创 整合SpringSecurity随机加密的无状态认证授权

平时会使用MD5来做授权认证,不管是Session还是JWT,但是如果被别人知道了salt是很危险的,因此这里来介绍一个强哈希方法来进行加密,代表的框架就是SpringSecurity提供的BCryptPasswordEncoder类。此外本篇文章还会主要介绍一下JWT的加密认证授权方式,是因为无状态的登录相对于有状态的登录对于服务器的压力会更小,并且Redis本身不用去存储这个Session。...

2019-11-11 17:51:18 445

原创 RabbitMQ及其三种队列(Direct,Fanout,Topic)使用方法

文章目录1、RabbitMQ基本概念2、三种队列模式2.1、Direct2.2、Fanout2.3、Topic1、RabbitMQ基本概念消息队列有很多种,常见的是ActiveMQ、RabbitMQ、Kafka,三者依次能处理更好的数据量但是安全性也随之降低并且很可能出现数据的丢失,但是目的却是一致的:异步处理、应用解耦,流量削锋和消息通讯等问题实现高性能,高可用,可伸缩性和最终一致性。Ra...

2019-11-10 09:52:59 2824

原创 ElasticSearch和MySQL同步——Logstash

什么是LogstashLogstash是一种轻量级的日志搜集处理框架,可以方便的把分散的、多样化的日志搜集起来,并进行自定义处理,然后传输到指定的位置,比如某个服务器或者文件。如果要使MySQL和ElasticSearch连接可以借助一个脚本连接器去实现,Logstash实现了将ES和MySQL的同步。原理是:从MySQL中抽出数据然后转换成ES的表结构去增加。首先下载和ES版本相同的L...

2019-11-09 09:52:03 182

原创 ElasticSearch的RestAPI操作和简单的搜索引擎

文章目录1、ElasticSearch简介2、ElasticSearch体系结构3、ElasticSearch安装及简单使用4、Java实现一个索引5、创建索引的查找1、ElasticSearch简介ElasticSearch是一个实时的分布式搜索和分析引擎,基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。是使用Java开发的,设计用于云...

2019-11-09 09:51:05 322

原创 ElasticSearch及HEAD插件的安装和使用,同时解决跨域

安装ElasticSearch1、首先去官网下载我们需要版本的ElasticSearch,这里使用的是5.6.82、下载之后进行解压即可,但是要放在没有中文的路径下3、启动ElasticSearch服务进入到解压文件的文件夹,使用bin/elasticsearch即可启动服务端对Java操作之外的端口是9200,Java操作的端口是9200启动之后不是一个很好看的web界面,为...

2019-11-08 08:05:01 1790

原创 Java对MongoDB的操作

文章目录1、使用Docker启动MongoDB2、常用操作2.1、简单查询2.2、复杂查询2.3、添加数据1、使用Docker启动MongoDB使用Mac在自己的电脑上下载了docker,然后拉取MongoDB的镜像,在终端输入docker start -di --name=mongodb -p 27017:27017 mongo这个时候MongoDB服务端已经启动了,接下来在启动客户...

2019-11-06 14:09:53 199

原创 SpringBoot——Redis

SpringCache和Redis都可以作为缓存使用,但是两者之间有一定的区别。SpringCache相对比较简单,但是没有向Redis一样拥有很多的功能,Redis可以对缓存中的数据进行相应的操作并且还可以设置超时时间,SpringCache不可以设置超时时间。下面来简单介绍一下简单的Redis在SpringBoot中的操作:stringRedisTemplate.opsForValue()...

2019-11-05 21:09:20 134

原创 SpringDataJpa Specification

Specification是在JPA进行查询动态拼接查询条件的,需要重写其中的Predicate方法来达到我们自己需要的功能。 @Override public Predicate toPredicate(Root<Label> root, CriteriaQuery<?> query, CriteriaBuilder criteriaBuilder) {}...

2019-11-05 20:56:50 427

空空如也

空空如也

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

TA关注的人

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