- 博客(38)
- 收藏
- 关注

原创 Kafka消息队列
Apache Kafka消息队列消息:系统间通信介质,存在形式多样化一般使用字节序列化、json、xml等队列:先进先出FIFO数据结构消息队列(Message Queue):可以用于系统间通讯的一个组件-middle ware(中间件),该组件可以用于做消息缓冲的中间件(持久化)解决一些 并发处理、数据库缓冲等实现对高并发的业务场景的削峰填谷。消息中间件还有:ActiveMQ-单机、Z...
2019-07-10 21:46:43
263
原创 Springboot + WebSocket 一对一聊天和公告
1.POM文件导入Springboot整合websocket的依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> <version>2.1.6.RELEASE</ver
2021-04-23 14:10:52
218
原创 简单的es搜索系统
什么是elasticsearchElasticsearch 是一个开源的高度可扩展的全文搜索和分析引擎,拥有查询近实时的超强性能。大名鼎鼎的Lucene 搜索引擎被广泛用于搜索领域,但是操作复杂繁琐,总是让开发者敬而远之。而 Elasticsearch将 Lucene 作为其核心来实现所有索引和搜索的功能,通过简单的 RESTful 语法来隐藏掉 Lucene 的复杂性,从而让全文搜索变得简单ES在Lucene基础上,提供了一些分布式的实现:集群,分片,复制等。搜索为什么不用MySQL而用es
2020-06-02 19:29:27
537
原创 创建oracle FN_split函数
创建fn_split前CREATE OR REPLACE TYPE ty_row_str_split as object (strValue VARCHAR2 (4000));CREATE OR REPLACE TYPE ty_tbl_str_split IS TABLE OF ty_row_str_split;直接保存到函数CREATE OR REPLACE FUNCTION "FN_SPLIT" (p_str IN VARCHAR2, .
2020-05-27 11:09:22
960
原创 SpringBoot2.0+Shrio+redis整合
因为shiro的功能比较多,本章只介绍如下几个功能 1.当用户没有登陆时只能访问登陆界面 2.当用户登陆成功后,只能访问该用户下仅有的权限 3.一个用户不能两个人同时在线一、数据库设计数据库表为5个分别是: 用户表、角色表、权限表、用户角色中间表、角色权限中间表二、移入依赖<?xml version="1.0" encoding="UTF-8"?>...
2020-04-25 16:56:14
278
原创 常见认证机制
Cookie AuthCookie认证机制就是为一次请求认证在服务端创建一个Session对象,同时在客户端的浏览器创建了一个Cookie对象;通过客户端上带来的Cookie对象来与服务器端的session对象匹配来实现状态管理的。默认情况下,当我们关闭浏览器的时候,cookie会被删除。但可以通过修改cookie的expire time使cookie在一定时间内有效。OAuthOAuth ...
2020-04-01 18:49:48
214
1
原创 js时间戳转时间格式
function time(time = +new Date()) { var date = new Date(time + 8 * 3600 * 1000); // 增加8小时 return date.toJSON().substr(0, 19).replace('T', ' ');}
2020-03-17 09:22:21
192
1
原创 java文件下载
以流的形式下载public HttpServletResponse download(String path, HttpServletResponse response) { try { // path是指欲下载的文件的路径。 File file = new File(path); // 取得文件名。 ...
2019-12-12 14:26:15
93
原创 #oracle WM_CONCAT 函数失效问题及重建
失效原因:版本不支持,WM_CONCAT是oracle的非公开函数,并不鼓励使用,新版本oracle并没有带此函数,需要手工加上。--首先使用dba账号登录oracle数据库--解锁wmsys用户 (可以是你自己定义的用户zhangsan、lisi之类的都可以)alter user wmsys account unlock; --并为wmsys用户授权,可根据需要授权,不建议授权所有权限...
2019-12-11 13:35:12
1921
原创 解决打包时本地jar无法加载问题(XXX不存在)
在pom中添加下面的配置<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</art...
2019-12-09 09:11:07
3934
原创 HBase
引言hbase是Apache组织开源的顶级项目distributed,scalable,big data store产品hbase是基于Hadoop的一个NoSQL产品 Colume类型的nosqlhbase是Google Big Table的开源实现hbase运行亿级数据查询是,效率可达到秒级,毫秒级 可在线处理实时处理Hbase存储的逻辑结构Hbase伪分布式环境的搭建1. l...
2019-07-24 16:46:31
180
翻译 Kafka Streaming
Kafka Streams流计算定义一般流式计算会与批量计算相比较。在流式计算模型中,输入是持续的,可以认为在时间上是无界的,也就意味着,永远拿不到全量数据去做计算。同时,计算结果是持续输出的,也即计算结果在时间上也是无界的。流式计算一般对实时性要求较高,同时一般是先定义目标计算,然后数据到来之后将计算逻辑应用于数据。同时为了提高计算效率,往往尽可能采用增量计算代替全量计算。批量处理模型中,一...
2019-07-23 09:01:25
191
原创 Spark性能优化
Spark性能优化概览Spark最大的优点,其实也是它最大的问题–基于内存的计算模型,Spark的计算本质是基于内存的,这导致它经常出现各种OOM(内存溢出)、文件丢失、task lost、内部异常等。所以Spark程序的性能可能因为集群中的任何因素出现瓶颈:CPU、网络带宽、或者是内存。如果内存能够容纳得下所有的数据,那么网络传输和通信可能导致性能出现瓶颈。但是如果内存比较紧张,不足以放下所有...
2019-07-19 21:52:39
277
原创 登录监控的一些方法
定义一个接口,声明一个方法,返回一个tuple,表示某一项是否存在风险trait RiskEvaluate { /** * @param currentValue 当前评估值 * @param historyValue 历史评估值 * @return */ def evaluate(currentValue:Any,historyValue:Any):(S...
2019-07-18 19:47:31
1124
原创 springboot easyui 验证码
KaptchaControllerimport com.google.code.kaptcha.impl.DefaultKaptcha;import jdk.internal.dynalink.beans.StaticClass;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframewor...
2019-07-15 08:43:31
644
原创 springboot自定义异常
自定义异常类public class UserNameAndPasswordException extends RuntimeException { public UserNameAndPasswordException(String message) { super(message); }}异常信息实体类import java.io.Serializa...
2019-07-12 23:14:14
176
原创 图片上传回显
可以把回显代码封装成一个jquery的扩展方法新建一个jquery.extend.js,封装代码如下:$.fn.extend({//定义图片回显方法,需要一个参数options imgShow:function (options) { $(this).change(function () { for (var i = 0; i < eve...
2019-07-12 22:13:40
278
原创 Kafka Streams
流计算一般流式计算会与批量计算相比较。在流式计算模型中,输入是持续的,可以认为在时间上是无界的,也就意味着,永远拿不到全量数据去做计算。同时,计算结果是持续输出的,也即计算结果在时间上也是无界的。流式计算一般对实时性要求较高,同时一般是先定义目标计算,然后数据到来之后将计算逻辑应用于数据。同时为了提高计算效率,往往尽可能采用增量计算代替全量计算。批量处理模型中,一般先有全量数据集,然后定义计算逻...
2019-07-10 22:04:38
482
原创 Flume
搭建Flume运行环境解压安装包[root@CentOS ~]# tar -zxf apache-flume-1.9.0-bin.tar.gz -C /usr/配置文件结构# 声明组件信息<Agent>.sources = <Source1> <Source2><Agent>.sinks = <Sink1> <Sink...
2019-07-09 19:33:36
160
原创 linux下mysql的安装
linux mysqlyum -y install mysql-server启动mysql服务并设置管理员密码service mysqld start/usr/bin/mysqladmin -u root password ‘123456’打开mysql远程访问权限GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘12345...
2019-07-09 16:43:52
97
原创 Spark的load和save函数 以及jar包的解决
Load & save 函数MySQL集成(引入MySQL驱动jar)<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</versi...
2019-07-08 21:16:48
1200
原创 Spark standalone集群(及其外围系统)的构建
物理资源:CentOSA、CentOSB、CentOSC 64bit 内存2GCentOSA:Zookepper、NameNode、DataNode、journalnode、zkfc、master(spark)、Worker(Spark)、KafkaCentOSB:Zookepper、NameNode、DataNode、journalnode、zkfc、master(spark)、Worke...
2019-07-08 20:42:27
195
原创 SparkSQL
SparkSQL概念Spark SQL是用于结构化数据处理的一个模块。同Spark RDD 不同地方在于Spark SQL的API可以给Spark计算引擎提供更多地信息,例如:数据结构、计算算子等。在内部Spark可以通过这些信息有针对对任务做优化和调整。这里有几种方式和Spark SQL进行交互,例如Dataset API和SQL等,这两种API可以混合使用。Spark SQL的一个用途是执行...
2019-07-05 20:52:55
258
原创 Redis的安装和启动
安装redis[root@CentOSA ~]# yum install -y gcc-c++[root@CentOSA ~]# tar -zxf redis-3.2.9.tar.gz[root@CentOSA ~]# cd redis-3.2.9[root@CentOSA redis-3.2.9]# vi redis.confbind CentOSAprotected-mode no...
2019-07-04 20:43:54
126
原创 Spark Streaming
什么是Spark StreamingSpark Streaming 是Spark Core的扩展,可以实现实时数据流的可扩展,高吞吐,容错流处理。数据来源有很多(如Kafka、Flume、Kinesis、TCP套接字)中获取,并且可以使用以高级函数(map、reduce、join和window)表示的复杂算法进行处理。最后,处理后的数据可以推送到文件系统、数据库和实施dashboards。S...
2019-07-03 21:19:11
171
原创 Spark算子、共享变量
RDD转换算子map(function)传入的集合元素进行RDD[T]转换 def map(f: T => U): org.apache.spark.rdd.RDD[U]scala> sc.parallelize(List(1,2,3,4,5),3).map(item => item*2+" " )res1: org.apache.spark.rdd.RDD[Strin...
2019-07-02 19:39:10
512
原创 Spark RDD详解和容错机制
RDD详解Spark计算中一个重要的概念就是可以跨越多个节点的可伸缩分布式数据集RDD(resilient distributed dataset)Spark的内存计算核心就是RDD的并行计算。RDD就是一个分布式、不可变、带有分区的弹性的数据集合。所谓的Spark批处理,实际上就是对RDD的集合操作,RDD有以下特点:任意一个RDD都包含分区数(决定程序某个阶段计算并行度)RDD的分布式...
2019-07-01 20:03:57
1253
原创 Spark工作原理及相关内核架构
Spark基本工作原理Spark于Mapreduce的最大不同在于Spark是迭代式计算模型:Map Reduce分为两个阶段,map和reduce。两个阶段完了,就结束了,所以我们在一个job里能做的处理很有限,只能在map和reduce里处理。Spark计算模型,可以分为n个阶段,因为他是内存迭代式的。我们在处理完一个阶段以后,可以继续往下处理很多个阶段,所以Spark相较于MapRe...
2019-06-30 16:31:20
210
原创 Spark Standalone和Spark on Yarn环境的搭建
Standalone(使用版本:spark-2.4.3,jdk1.8+,hadoop-2.9.2)Hadoop环境设置CentOS进程数和文件数(重启生效)[root@CentOS ~]# vi /etc/security/limits.conf* soft nofile 204800* hard nofile 204800* soft nproc 204800* hard np...
2019-06-30 11:32:32
491
原创 Scala集合常用算子
排序sorteddef sorted[B >: Int](implicit ord: scala.math.Ordering[B]): Array[Int]scala> var array=Array(1,2,4,5,3)array: Array[Int] = Array(1, 2, 4, 5, 3)scala> list.sortedres4: List[Int...
2019-06-27 16:33:14
1684
原创 Scala的集合|数组
Java集合转换为Scalaimport java.util.ArrayListimport scala.collection.JavaConverters._val array = new ArrayList[Int]()array.add(1)array.add(2)array.add(3)array.add(4)//使用Java API实现累加val sum = arra...
2019-06-26 20:50:51
207
原创 Scala的隐式传值、隐式转换和Scala的泛型
隐式传值\隐式转换隐式值获取分别使用implicit和implicitly关键字声明隐式值和隐式注入等操作使用implicitly[类型],必须保证当前上下文有且仅有一个隐式值类型,一般这种隐式值变量的声明写在object单例类或者伴生对象中。 implicit var a:Int= 1 var b = implicitly[Int] print(b.toStri...
2019-06-26 19:21:51
293
原创 Scala的class、object及修饰符
单例类由于Scala没有静态方法和静态类,通过object去定义静态方法或静态对象。(对象是单例的)object User { def sayHello:(String)=>String = (name)=> "Hello ~"+name def sayHello1(name:String):String={ "Hello ~"+name }...
2019-06-25 20:33:20
380
原创 Scala基础和函数
简介Scala将面向对象和函数式编程结合在一个简洁的高级语言中。 Scala的静态类型有助于避免复杂应用程序中的错误,其JVM和JavaScript运行时可让你构建高性能系统,轻松访问庞大的库生态系统Scala的安装官网下载scala:https://www.scala-lang.org/Windows版本安装双击安装,无脑下一步配置环境变量SCALA_HOME=E:\scala...
2019-06-24 21:21:16
208
原创 Storm的StreamAPI
Stream API是Storm的另一种替代接口。它提供了一种用于表达流式计算的类型化API,并支持功能样式操作。快速入门StreamBuilder builder = new StreamBuilder();KafkaSpout<String, String> spout = KafkaSpoutUtils.buildKafkaSpout("CentOSA:9092,Cent...
2019-06-24 09:07:43
146
原创 Storm Trident
概述Trident是一个高级抽象,用于在Storm之上进行实时计算。它允许您无缝混合高吞吐量(每秒数百万条消息),有状态流处理和低延迟分布式查询。如果您熟悉Pig或Cascading等高级批处理工具,Trident的概念将非常熟悉 - Trident具有连接,聚合,分组,功能和过滤器。除此之外,Trident还添加了基元,用于在任何数据库或持久性存储之上执行有状态的增量处理。 Trident具有...
2019-06-22 14:01:27
178
原创 Storm架构和容错机制
Storm架构原理Storm核心组件概述Apache Storm提供了一种基于Topology流计算的概念,Topology等价于hadoop中的mapreduce计算,MapReduce极端最终会停止,Topology会一直运行,除非用户执行storm kill指令才会停止该计算。Storm的单个阶段每秒钟可以处理100万条数据/Tuple。Nimbus:负责资源分配和任务调。Sup...
2019-06-19 12:31:49
2081
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人