自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 资源 (2)
  • 收藏
  • 关注

原创 数据仓库搭建

目录1 数据仓库概念1.1 什么是数据仓库1.2 OLTP与OLAP2 项目需求及架构设计3 项目框架4 框架版本选型4.1 Hadoop版本综述4.2 社区版与第三方发行版的比较4.2.1.Apache社区版4.2.2.第三方发行版(CDH/HDP/MapR)4.3 第三方发行版的比较4.4 版本选择5 服务器选型6 集群资源规划设计7 测试集群服务器规划1 数据仓库概念数据仓库,英文名称为Data Warehouse,可简写为DW或DWH。数据仓库,是为企业所有级别的决策制定过程,提供所有类型数

2021-06-30 20:37:31 8178 6

原创 数据仓库用户行为采集记录

目录1 数据采集1.1 目标数据1.1.1 页面1.1.2 事件1.1.3 曝光1.1.4 启动1.1.5 错误2 数据埋点2.1 主流埋点方式2.2 埋点数据日志结构2.3 埋点数据上报时机1 数据采集1.1 目标数据我们要收集和分析的数据主要包括页面数据、事件数据、曝光数据、启动数据和错误数据。1.1.1 页面页面数据主要记录一个页面的用户访问情况,包括访问时间、停留时间、页面路径等信息。1)所有页面id如下home("首页"),category("分类页"),discovery(

2021-06-30 20:37:42 382

原创 SSH无密登录配置

1 配置ssh(1)基本语法ssh另一台电脑的IP地址(2)ssh连接时出现Host key verification failed的解决方法[oldlu@hadoop102 ~]$ ssh hadoop103出现:The authenticity of host ‘192.168.1.103 (192.168.1.103)’ can’t be established.RSA key fingerprint is cf:1e????????d7:d0:4c:2d:98:60:b4:fd:ae

2021-06-30 20:37:12 342

原创 集群同步文件分发脚本编写

1 scp(secure copy)安全拷贝(1)scp定义:scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)(2)基本语法scp -r $pdir/$fname $user@hadoop$host:$pdir/$fname命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称(3)案例实操(a)在hadoop102上,将hadoop102中/opt/module

2021-06-30 20:36:57 229

原创 Scala高阶函数与akka

目录1 高阶函数1.1 作为值的函数1.2 匿名函数1.3 柯里化1.4 闭包2 隐式转换和隐式参数2.1 隐式转换2.2 自动导入隐式转换方法2.3 隐式转换的时机2.4 隐式参数3 Akka RPC框架入门Akka简介3.1 Akka特性3.2 Akka Actor并发编程模型3.3 入门案例3.4 Akka编程重要API3.5 Akka定时任务scheduler4 实现两个进程之间的通信4.1 案例介绍4.2 Master实现4.3 Worker实现5 简易版spark通信框架案例5.1 Worker

2021-06-30 20:36:35 279

原创 Scala高级用法

目录1 样例类1.1 定义样例类1.2 样例类方法1.3 样例对象2 模式匹配2.1 简单匹配2.2 守卫2.3 匹配类型2.4 匹配集合2.5 变量声明中的模式匹配2.6 匹配样例类3 Option类型4 偏函数5 正则表达式6 异常处理6.1 捕获异常6.2 抛出异常7 提取器(Extractor)7.1 定义提取器8 泛型8.1 定义一个泛型方法8.2 定义一个泛型类8.3 上下界8.4 协变、逆变、非变9 Actor介绍9.1 Java并发编程的问题9.2 Actor并发编程模型9.3 Java并发

2021-06-30 20:36:27 562

原创 Scala面向对象

目录1 类1.1 创建类和对象1.2 getter/setter1.3 类的构造器2 单例对象2.1 定义object2.2 伴生对象2.3 apply方法2.4 main方法3 继承(extends)3.1 简单继承3.2 override和super3.3 isInstanceOf和asInstanceOf3.4 getClass和classOf3.5 访问修饰符3.6 调用父类的constructor3.7 抽象类3.7.1 抽象方法3.7.2 抽象字段3.8 匿名内部类4 特质(trait)7.1

2021-06-30 20:36:14 770

原创 Scala函数式编程

目录1 函数式编程1.1 遍历 | foreach1.2 使用类型推断简化函数定义1.3 使用下划线来简化函数定义2 映射 | map2.1 用法2.2 案例一2.3 案例二3 扁平化映射 | flatMap3.1 定义3.2 案例4 过滤 | filter4.1 定义4.2 案例5 排序5.1 默认排序 | sorted5.2 指定字段排序 | sortBy5.3 自定义排序 | sortWith6 分组 | groupBy6.1 定义6.2 示例7 聚合操作7.1 聚合 | reduce7.1.1 定义

2021-06-30 20:35:54 634

原创 Scala集合和遍历

目录1 列表1.1 定义1.1.1 示例一1.1.2 示例二1.1.3 示例三2 可变列表2.1 定义2.1.1 示例一2.1.2 示例二2.2 可变列表操作2.2.1 示例3 列表常用操作3.1 判断列表是否为空3.2 拼接两个列表3.3 获取列表的首个元素和剩余部分3.4 反转列表3.5 获取列表前缀和后缀3.6 扁平化(压平)3.7 拉链与拉开3.8 转换字符串3.9 生成字符串3.10 并集3.11 交集3.12 差集4 Set4.1 不可变集4.1.1 定义4.1.2 示例一4.1.3 示例二4.

2021-06-30 20:35:44 2215

原创 Scala数组和元组

目录1 数组1.1 定长数组2 变长数组2.1 定义变长数组2.2 添加/修改/删除元素3 遍历数组4 数组常用算法4.1 求和4.2 最大值4.3 最小值4.4 排序5 元组5.1 定义元组5.2 访问元组1 数组scala中数组的概念是和Java类似,可以用数组来存放一组数据。scala中,有两种数组,一种是定长数组,另一种是变长数组1.1 定长数组定长数组指的是数组的长度是不允许改变的数组的元素是可以改变的语法// 通过指定长度定义数组val/var 变量名 = new Arra

2021-06-29 22:26:03 612

原创 Scala方法和函数

目录1. 方法1.1 概述1.2 语法格式1.3 示例1.4 返回值类型推断1.5 惰性方法1.6 方法参数1.6.1 默认参数1.6.2 带名参数1.6.3 变长参数1.7 方法调用方式1.7.1 后缀调用法1.7.2 中缀调用法1.7.3 花括号调用法1.7.4 无括号调用法2. 函数2.1 定义函数2.2 示例2.3 方法和函数的区别2.4 方法转换为函数3. 案例: 打印nn乘法表3.1 需求3.2 目的3.3 步骤3.4 参考代码1. 方法1.1 概述实际开发中, 我们需要编写大量的逻辑代

2021-06-29 22:25:47 1091

原创 Scala选择和循环语法

目录1 条件表达式1.1 有返回值的if1.2 块表达式2 循环2.1 for表达式2.1.1 简单循环2.1.2 嵌套循环2.1.3 守卫2.1.4 for推导式2.2 while循环3 break和continue3.1 实现break3.2 实现continue1 条件表达式条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作。scala条件表达式的语法和Java一样。1.1 有返回值的if与Java不一样的是,[NOTE]在sc

2021-06-29 22:25:39 349

原创 Scala基础语法

目录1.java语法类比Scala 基本语法需要注意以下几点:2 声明变量2.1 语法格式2.2 在解释器中定义一个变量2.3 val和var变量2.4 使用类型推断来定义变量2.5 惰性赋值3 字符串3.1 使用双引号3.2 使用插值表达式3.3 使用三引号4 数据类型与操作符4.1 数据类型4.2 运算符4.3 scala类型层次结构1.java语法类比如果你之前是一名 Java 程序员,并了解 Java 语言的基础知识,那么你能很快学会 Scala 的基础语法。Scala 与 Java 的最大

2021-06-29 22:25:29 654 4

原创 Scala快速入门

目录1.为什么使用scala?2 scala简介为什么使用scalascala对比Java案例3.开发环境安装安装JDK安装scala SDK安装IDEA scala插件4.scala解释器启动scala解释器执行scala代码退出解释器1.为什么使用scala?开发大数据应用程序(Spark程序、 Flink程序)这个对于笔者占据主要地位表达能力强, 一行代码抵得上Java多行, 开发速度快兼容Java, 可以访问庞大的Java类库, 例如: 操作mysql、 redis、 freemarker

2021-06-28 20:37:33 266

原创 Mysql分表分库背景知识

目录1 海量数据的存储与访问瓶颈解决方案-数据切分1.1 数据切分1.2 垂直切分1.2.1 垂直切分的优缺点1.4 水平切分1.4.1 水平拆分的优缺点1.5 总结1.6 针对多数据源的管理问题,主要有两种思路:2 如何正确使用数据库读写分离2.1 架构演进2.2 数据库读写分离2.3 读写分离的弊端2.4 如何正确的使用读写分离3 MyCat概述与基本概念3.1 什么是MyCat3.2 MyCat的应用场景3.3 MyCat中的基本概念3.3.1 逻辑库(Schema)3.3.2 逻辑表(table)3

2021-06-27 19:17:02 252 1

原创 Mysql的连环炮面试题

目录1 MySQL存储引擎和索引介绍2 数据库设计原则3 数据库是事务4 SQL优化5 简单说一说drop、delete与truncate的区别9 什么是视图7 什么是内联接、左外联接、右外联接?8 并发事务带来哪些问题?9 事务隔离级别有哪些?MySQL的默认隔离级别是?10 分表分库相关11 数据库并发策略12 MySQL 中有哪几种锁?13 MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之 间的区别?14 CHAR 和 VARCHAR 的区别?15 主键和候选键有什么区别?16 m

2021-06-27 19:12:49 680

原创 计算机网络的连环炮面试题

计算机网络面试核心2-1 网络基础知识讲解面试网络知识的意义?编程的时候并不需要编写Socket,并且底层服务已经很好的处理了数据包的解析。实际上网络知识就相当于框架底层知识,平时能够满足我们需求的时候并不会关心网络,但是如果性能没办法满足我们的需求时,就需要使用到网络知识。比如没办法判断程序为什么会变慢,是网络的原因还是其他原因,数据包有没有丢失,为什么会造成大量的Close Wait,为什么会出现大量的连接丢失等等。网络协议国际标准化组织ISO制定的OSI七层开放式互联协议模型物理

2021-06-27 19:11:41 248

原创 RestTemplate请求访问简单使用

RestTemplate 简介RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POST 请求、PUT 请求、DELETE 请求以及一些通用的请求执行方法 exchange 以及 execute。RestTemplate 继承自 InterceptingHttpAccessor 并且实现了 RestOperations 接口,其中 RestOperations 接口定义了基本的 RESTful 操作,这些操作在

2021-06-27 19:06:31 2144 1

原创 IDEA快速构建UML类图

目录1 UML图1.1 类图概述1.2 类图的作用1.3 类图表示法1.3.1 类的表示方式1.3.2 类与类之间关系的表示方式1.3.2.1 关联关系1.3.2.2 聚合关系1.3.2.3 组合关系1.3.2.4 依赖关系1.3.2.5 继承关系1.3.2.6 实现关系2 IDEA快速构建UML类图1 UML图统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息

2021-06-27 19:00:58 27224 4

原创 Lucene简单使用

目录1 基本介绍2 使用场景3 Lucene实现索引检索的流程4 使用Java实现Lucene的增删改查4.1 编写创建索引的代码4.2 实现简单搜索测试4.3 索引的删除与修改4.4 Lucene的查询1 基本介绍本文主要介绍几个方面,为什么使用Lucene使用场景,解决的问题,Lucene的入门使用,以及Lucene一些语法(增删改查)。官方网站一简述Lucene概念:磁盘上的一些邮件,文档等各种文件,通过工具,把其变得有结构性,就是他们的信息扫描,记录位置,记录内容,建成索引。这样你就可以

2021-06-27 18:55:52 783

原创 Java线程池七大参数详解和配置

目录一、corePoolSize核心线程数二、maximunPoolSize最大线程数三、keepAliveTime空闲线程存活时间四、unit空闲线程存活时间的单位五、workQueue线程工作队列1、ArrayBlockingQueue FIFO有界阻塞队列2、LinkedBlockingQueue FIFO无限队列3、PriorityBlockingQueue VIP4、SynchronousQueue不缓存任务的阻塞队列六、threadFactory线程工厂七、handler超出线程数和工作队列时候

2021-06-25 23:16:55 9914 4

原创 Mybatis-Plus select不去查全部字段和去重

目录1 mybatis-plus select查询语句默认是查全部字段,有两种方法可以指定要查询的字段2 Mybatis plus实现Distinct去重功能3 Mybatis plus实现in操作4 mybatis 转义对照表

2021-06-25 23:13:48 14603

原创 深入理解JWT令牌

目录1 JWT 介绍2 JWT适用场景3 JWT结构3.1 Header3.2 Payload3.3 Signature4 JWT实践5 JWT工作原理6 常见问题6.1 JWT 安全嗎?6.2 JWT Payload 內容可以被伪造嗎?6.3 如果我的 Cookie 被窃取了,那不就表示第三方可以做 CSRF 攻击?6.4 空间及长度问题?6.5 Token失效问题?7 JWT使用建议1 JWT 介绍JSON Web Token(JWT)是一个开放式标准(RFC 7519),它定义了一种紧凑(Com

2021-06-25 23:12:39 522

原创 mysql冷备和热备

数据库热备:一般用于保证服务正常不间断运行,用两台机器作为服务机器,一台用于实际数据库操作应用,另外一台实时的从前者中获取数据以保持数据一致.如果当前的机器熄火,备份的机器立马取代当前的机器继续提供服务冷备:.冷备份指在数据库关闭后,进行备份,适用于所有模式的数据库.热备是指与目标设备共同运转,当目标设备发生故障或停机时,热备设备立即承担起故障设备的工作任务;冷备是指当目标设备发生故障或停机后,冷备设备才开始由停机等待状态进入启动运转状态,并承担起故障设备的工作任务拓展资料:数据库(Database

2021-06-25 23:10:42 436

原创 mysql大批量插入数据的正确做法

目录1 批量插入和单条插入比较1.1 测试普通插入1.2 测试批处理配合拼接SQL语句插入2 原理探究1 批量插入和单条插入比较如何快速的向数据库中插入已知的1000万条数据​ 假设这1000W条数据在同一个集合里,那么将这个集合进行遍历,循环1000W次,结合数据库编程技术,如JDBC,就可以插入数据库,这么简单的操作,显然不是正确答案…List<User> list = findAllUser();Statement stat = conn.createStatement(

2021-06-25 23:08:57 25060

原创 windows下安装nacos

windows下安装nacos1、下载下载地址:https://github.com/alibaba/nacos/releases/tag/1.1.0选择这个zip下载。下载完毕后我们可以看看目录结构:这里的bin目录里面有windows启动文件startup.cmd,我们双击就能启动了,和大多数windows进程类似。启动后会有一个cmd窗口去打印命令并启动。这里我们启动成功了,启动失败后窗口会一闪而过。2、访问访问地址:http://localhost:8848/nacos/in

2021-06-25 23:05:14 219

原创 File和MultipartFile互相转化工具类

目录1 File转MultipartFile工具类2 MultipartFile转File1 File转MultipartFile工具类引入以下依赖:<dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.3.1</version>&lt

2021-06-25 23:02:33 1102 2

原创 ES优化文件系统缓存filesystem cache

1 windows如何更改 FileSystem 缓存的大小你可以使用命令行更改文件系统缓存的大小。 此操作需要完整地重置缓存,并且它需要管理权限。更改文件系统缓存的大小将以下注册表值设置为0(零):HKEY \ _LOCAL \ _MACHINE \SOFTWARE\Microsoft\SoftGrid\4.5\Client\AppFS\State将以下注册表值设置为包含程序包所需的最大缓存大小(以 MB 为单位),例如,8192 MB:HKEY \ _LOCAL \ _MACHINE \SO

2021-06-25 23:00:46 4778

原创 redis全量同步和增量同步周期

全量复制master 执行 bgsave ,在本地生成一份 rdb 快照文件。master node 将 rdb 快照文件发送给 slave node,如果 rdb 复制时间超过 60秒(repl-timeout),那么 slave node 就会认为复制失败,可以适当调大这个参数(对于千兆网卡的机器,一般每秒传输 100MB,6G 文件,很可能超过 60s)master node 在生成 rdb 时,会将所有新的写命令缓存在内存中,在 slave node 保存了 rdb 之后,再将新的写命令复制给

2021-06-25 22:57:30 852

原创 java实现社交账号登录

一、什么是社交登陆QQ、微博、github等网站的用户量非常大,别的网站为了简化自我网站的登陆与注册逻辑,引入社交登陆功能;步骤:1)、用户点击QQ按钮2)、引导跳转到QQ授权页3)、用户主动点击授权,跳回之前网页。1、什么是OAuth2.0OAuth: OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息,而不需要将用户名和密码提供给第三方网站或分享他们数据的所有内容。OAuth2.0:对于用户相关的OpenAPI(例如获取用户信息,动态同

2021-06-25 22:55:59 562

原创 Java从零搭建一个单点登录系统

目录1 单点登录业务介绍1.1 单一服务器用户认证1.2 WEB应用集群session共享模式1.3 分布式SSO(single sign on)模式2 认证中心模块搭建2.1登录功能(生成token)2.2 passport只负责认证和token的颁发2.3 核对后台登录信息+用户登录信息载入缓存2.4 生成token2.5 制作 JWT的工具类(JwtUtil)2.6 passport模块Controller示例3 验证登录(token)功能,用jwt解析3.1 思路3.2 代码示例4 业务模块的登录检

2021-06-25 22:53:29 1415

原创 解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错

idea解决Command line is too long. Shorten command line for ServiceStarter or also for Application报错找到 .idea\workspace.xml;找到<component name="PropertiesComponent">,在里面添加<property name="dynamic.classpath" value="true" />即可今天发现有的时候不好使,有第二种方法:点击项

2021-06-25 22:42:21 1961

原创 ElasticSearch深度调优指南大全

第一部分:调优索引速度ES发布时带有的默认值,可为es的开箱即用带来很好的体验。全文搜索、高亮、聚合、索引文档等功能无需用户修改即可使用,当你更清楚的知道你想如何使用es后,你可以作很多的优化以提高你的用例的性能,下面的内容告诉你 你应该/不应该修改哪些配置https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html使用批量请求批量请求将产生比单文档索引请求好得多的性能。

2021-06-25 22:41:40 616

原创 Redis数据恢复和主从数据同步问题

Redis持久化Redis提供了两种持久化的选项,一种是快照文件(snapshotting,RDB),它会基于某个时间点将数据全部写入硬盘中(默认为dump.rdb)。另一种是只追加文件(append-only,AOF),它会在执行写入命令时将命令写入到硬盘中。Redis持久化数据最主要是为了数据备份,故障恢复,也有一些经过耗时较长的计算结果存在Redis中,如果这些数据存在硬盘中,即使服务器重启了之后,这些数据还是存在的,不用再去耗时计算了。这两种方式可以单独使用,也可以结合起来使用。最重要的还是要理解

2021-06-25 22:41:09 416

原创 Excel解析为java对象

目录1 需要上传Excel例子2 解析成功图片3 上传页面3.1 代码1 需要上传Excel例子2 解析成功图片3 上传页面3.1 代码pom.xml需要加入,文件上传需要的的file-upload.jar和解析Exl的poi.jarpom.xml<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId>

2021-06-25 22:40:23 419 1

原创 idea Git不显示每次提交对应的文件

目录1 问题描述2 问题解决1 问题描述最近使用idea遇见非常头痛问题。虽然使用idea的VCS功能进行代码管理非常方便,但是,最近使用时竟然产生了一个很头痛的问题:就是点击项目右键->git->Show History,查看git提交记录。之前都是显示对应的提交细节文件,但是最近没有之前使用idea都是显示提交批次的具体代码但是,这次idea只是显示提交记录细节,而不显示提交批次对应代码,这样,就无法知道每次提交对应的分别时那些文件,如下图注意这里的两条线2 问题解决也

2021-06-25 22:39:39 2407 8

原创 java实现线上环境远程debug调试

服务器部署项目后又时可能与本地开发效果不一致,怎么实现远程调试配置?docker中怎么进行配置?docker中tomcat实现远程调试配置1. 配置docker-compose.ymlCATALINA_OPTS参数配置启动远程调试功能version: '2.2'services: test: container_name: test image: tomcat:8.5.32 ports: - "5005:5005" volumes:

2021-06-25 22:38:55 1667

原创 面试题@Component和@Bean的区别

个人回答:1.作用对象不同:@Component 注解作用于类,而 @Bean 注解作用于方法、2.@Component 通常是通过路径扫描来自动侦测以及自动装配到 Spring 容器中(我们可以使用 @ComponentScan 注解定义要扫描的路径从中找出标识了需要装配的类自动装配到 Spring 的 bean 容器中)。@Bean 注解通常是我们在标有该注解的方法中定义产生这个 bean,@Bean 告诉了 Spring 这是某个类的实例,当我们需要用它的时候还给我。3.@Bean 注解比 .

2021-06-14 17:24:00 751

原创 Freemarker填充数据到word模板中

目录1 环境配置2 doc文档或docx文档3 另存为xml格式4 核心代码5.填充生成到docx5.1.创建模板docx并取出document.xml5.2.用winrar打开test_template.docx,取出word/document.xml5.3.准备工作完毕,上代码了,这个类是把内容填充到xml5.4.这个类是把填充完毕的xml转成docx5.5.main方法调用6 推荐一个封装好的工具1 环境配置<!-- https://mvnrepository.com/artifact/

2021-06-12 16:53:54 1566

原创 Socket.IO服务端与客户端消息通讯

目录1 开始2 介绍3 网络框架4 服务 HTML5 集成 Socket.IO6 发出事件7 广播1 开始在本指南中,我们将创建一个基本的聊天应用程序。它几乎不需要 Node.JS 或 Socket.IO 的基本先验知识,因此非常适合所有知识水平的用户。2 介绍使用流行的 Web 应用程序堆栈(如 LAMP (PHP))编写聊天应用程序通常非常困难。它涉及轮询服务器以获取更改、跟踪时间戳,并且它比应有的速度慢得多。传统上,套接字一直是构建大多数实时聊天系统的解决方案,在客户端和服务器之间提供双向

2021-06-12 13:46:18 1698

HTML+CSS仿京东购物车页面静态页面

原文地址:https://blog.csdn.net/ZGL_cyy/article/details/105742990

2021-06-27

jsp+mysql简单用户管理系统.rar

详情设计和效果请看:https://blog.csdn.net/ZGL_cyy/article/details/107236101

2020-07-09

空空如也

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

TA关注的人

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