自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

A coder of life

记录bug人生

原创 Linux Shell脚本中常用的操作

1.获取当前脚本路径 2.判读字符串变量为空和不为空 3.获取日期及相关操作 4.脚本输入参数指定与判定 5.数组遍历 6.shell执行结果判断 7.读配置文件 8.获取当前机器IP 9.程序暂停一段时间 10.字符串截取与替换 11....

2020-05-20 15:22:03 63 0

原创 Linux Shell读写Mysql数据库

myql配置文件mysql.properties中存放mysql连接参数: #mysql ip mysql_ip=192.168.76.140 #mysql端口 mysql_port=3306 #mysql登陆用户名 mysql_user=root #mysql登陆密码 mysql_pa...

2020-02-28 13:45:29 117 0

原创 Flink SQL自定义TableSource读取Kudu数据

本文基于Flink1.9,之前文章基于Flink1.6。在Flink的官方文档中提供了很多connector用于连接外部系统数据源。如果提供的connector不能满足需要,还可以通过自定义方式定义读取外部数据源的逻辑。本文的背景就是使用SQL查询批量数据,但是批量数据存储在kudu中,由于没有提...

2019-12-13 11:34:54 977 0

原创 mysql基于成本的优化

mysql在实际执行查询语句之前会经查询优化器评估一个成本最低的方式去执行查询,成本是怎么评估的呢?分为两个部分: IO成本:mysql规定读取一个页面的成本是1.0 CPU成本:CPU成本是指对记录进行条件判断的成本,mysql规定判断一条记录的成本为0.2 从上可以看出,我们需要两个数据:...

2019-10-30 15:48:58 125 0

原创 mysql多表连接

首先要明确的是内连接、外连接(分左外连接和右外连接)的区别: select * from t1,t2:这种写法等价于 select * from t1 join t2 select * from t1 inner join t2 select * from t1 cross join t2 ...

2019-10-29 11:45:40 27 0

原创 mysql表的访问方法

mysql执行查询语句的时候,会有许多方式访问表,总体分为以下两大类: 使用索引 全表扫描 如果一个查询sql中包含多个索引,一般情况下,会选取使用索引返回的记录少的那一个,其他的过滤条件在返回完整用户记录时再进行过滤匹配。但特殊情况下,多个索引也会都使用(比如索引合并)。 具体来说有以下访...

2019-10-28 15:22:25 79 0

原创 mysql的表空间结构

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! 表空间分为系统表空间和独立表空间,一般情况下一张表会对应一个独立表空间。为了管理表空间,设计了各种类型的页和链表,表空间的管理是非常复杂的。那么表空间存的是什么东西呢?记录是怎么存在于表空间中的呢?为了管理表空间又引...

2019-10-25 16:55:26 73 0

原创 mysql数据目录

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! mysql数据目录是放mysql运行中产生数据的地方,也就是数据库、表、视图、触发器等数据。数据库目录在什么位置?可以通过在mysql命令行中输入:show variables like ‘datadir’查看。 ...

2019-10-16 16:01:31 30 0

原创 mysql B+树索引使用要点

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! 我们知道引入索引是为了快速查询,但是往往一个系统或者软件引入了新的模块、功能或者组件,虽然丰富了产品特性,但是不可以避免的提升了系统或软件的复杂性和耦合性。因此要正确的使用索引,必须清楚其背后的原理。 B+树索引并...

2019-10-15 14:57:02 32 0

原创 mysql的B+树索引

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! 以mysql中的innodb引擎为例,索引是个什么东西?为什么说索引即数据?一个2层B+树索引最多可以存多少条数据?聚簇索引,二级索引,联合索引? 在单个页中进行记录查找分为: 定位记录所在的槽 遍历槽比对记录...

2019-10-14 15:19:35 30 0

原创 mysql的页结构

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! mysql的记录格式是放在数据页中的,准确的说是user records部分。一个页大小为16KB,数据页是mysql和磁盘交互的基本单位。mysql出于不同的目的设计了不同类型的数据页,但页的结构是相同的,不同的是...

2019-10-12 15:29:41 44 1

原创 mysql innodb记录存储格式

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! mysql innodb引擎将数据存储在磁盘中,不同的引擎存储形式不同,有的则不需要存储,比如memory引擎。 innodb引擎底层数据的存储格式形式如下: 变长字段长度列表 NULL值列表 头信息...

2019-10-10 15:43:17 89 0

原创 mysql字符集

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! 字符集界定能够将哪些字符编码成二进制码,比较规则则是一种比较字符大小的规则。 我们通常遇到的乱码问题,本质是编解码出现了问题。也即是编码和解码字符集不一致导致的。 在mysql中utf8其实是utf8mb3,采用...

2019-10-09 16:03:24 21 0

原创 mysql的启动配置参数

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! 在启动mysql服务器端程序的时候,可以加入一些启动选项,这些启动选项可以影响后续程序的一些行为。比如常见的默认存储引擎就可以通过指定启动选项来设置,如: bin/mysqld --default-storage-...

2019-09-30 14:37:08 752 0

原创 初步认知mysql

这篇文章是自己学习mysql随手写的杂记,编辑混乱且不够严谨,请勿参考,谢谢! mysql采用客户端/服务器端架构,每运行一个mysql服务器端程序,操作系统随机产生一个进程号,进程名为mysqld。客户端启动产生的进程名为mysql。一般mysql安装包都会包括服务器端程序和客户端程序,所以m...

2019-09-29 16:38:41 33 0

原创 Spring Boot整合Flink

使用spring boot整合flink可以快速的构建起整个应用,将关注点重点放在业务逻辑的实现上。在整合的过程中遇到许多问题,最大的问题是flink流无法访问spring容器中的类,从而导致空指针异常,解决思路是在流中进行spring bean的初始化以获得ApplicationContext,...

2019-07-04 22:46:43 12029 10

转载 kafka如何彻底删除topic及数据

前言: 删除kafka topic及其数据,严格来说并不是很难的操作。但是,往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景,总结一套删除kafka topic的标准操作方法。 st...

2019-05-28 14:19:46 68 0

原创 spring boot2.x启动源码浅析

spring boot程序启动入口是: @SpringBootApplication public class ApplicationServer { public static void main(String[] args) { SpringApplication...

2019-05-27 17:11:23 112 0

原创 第一个spring boot接口项目开发总结

第一次使用spring boot开发接口项目,对接口使用的技术做了个大概的梳理,细节没有展开,详细可参看官网文档。 1.项目监控:使用spring boot admin server,可以详细的查看应用运行的内存使用情况,GC情况,磁盘,日志等等。 2.权限控制:使用spring bo...

2019-05-21 14:30:26 306 0

原创 IDEA常用设置总结

以下总结为自己工作中的IDEA设置,不分顺序。 1.代码跳转设置 https://blog.csdn.net/u010814849/article/details/76682701/ 2.自己安装的插件 Alibaba Cloud Toolkit 开发,部署,详细可参看:Alibaba C...

2019-04-18 11:15:04 118 0

原创 linux系统缺包安装-持续更新

1.输入man proc,报错:No manual entry for proc 切换到root用户下,执行:yum install -y man-pages 2.输入netstat -anlp|grep 21050,报错:-bash: netstat: command not found ...

2019-04-18 10:23:49 143 0

原创 spring boot admin导致swagger-ui.html无法访问的解决办法

spring boot admin版本:2.1.3 swagger2版本:2.7.0 spring boot security版本:2.1.3 问题现象是:spring boot admin可以正常监控了,但是swagger-ui.html却无法打开: 尝试1:重写public void ...

2019-04-17 18:38:23 1476 0

原创 linux性能速查-中断

该linux系列博客为自己速查问题而写,比较乱,仅供参考,如有问题,请参考权威书籍或文档,谢谢。 中断是一种处理硬件设备请求的机制,它会打断正常的进程调度和执行,通过调用中断处理程序来响应硬件请求。它还是一种异步处理机制,可以提高系统的并发处理能力。 中断的处理分为两个部分: 上半部。处理速...

2019-04-08 10:29:02 623 0

原创 linux性能速查-进程状态

该linux系列博客为自己速查问题而写,比较乱,仅供参考,如有问题,请参考权威书籍或文档,谢谢。 进程状态分为: D-不可中断睡眠状态,此时进程在等待硬件的响应,为了保证进程和硬件数据的一致性,不能被其他进程或中断打断。 R-可运行态,正在使用CPU或等待CPU。 S-可中断睡眠,调用sl...

2019-04-03 10:26:03 65 0

原创 linux性能速查-CPU使用率

该linux系列博客为自己速查问题而写,比较乱,仅供参考,如有问题,请参考权威书籍或文档,谢谢。 我们最常用的衡量CPU性能的指标就是CPU使用率,在linux系统中,使用节拍率维护CPU时间,比如如果节拍率为100,也就是每秒触发100次时间中断,在/proc/stat中可以看到CPU自开机以...

2019-04-01 10:46:27 216 0

原创 linux性能速查-CPU上下文切换(二)

该linux系列博客为自己速查问题而写,比较乱,仅供参考,如有问题,请参考权威书籍或文档,谢谢。 既然我们知道频繁CPU上下文切换会导致平均负载升高,那么如何排除问题呢? 使用性能监控工具vmstat可以查看上下文切换次数,中断数,就绪队列长度,不可中断数等指标。 如上图所示,重点关注:...

2019-03-28 10:49:40 1044 1

原创 linux性能速查-CPU上下文切换(一)

该linux系列博客为自己速查问题而写,比较乱,仅供参考,如有问题,请参考权威书籍或文档,谢谢。 在导致平均负载升高的因素中,任务等待CPU就是其中一个。本质原因是:上下文切换 当然更准确的说是:过多的上下文切换是导致平均负载升高的凶手。正常的上下文切换是系统调度任务的必要手段。 1.什么是...

2019-03-27 11:00:39 244 0

原创 linux性能速查-平均负载

该linux系列博客为自己速查问题而写,比较乱,仅供参考,如有问题,请参考权威书籍或文档,谢谢。 1.什么时候需要查看平均负载? 系统或应用运行缓慢的时候。 2.平均负载的意义和误区? 平均负载是指单位时间内,处于可运行状态和不可中断状态的进程数,也就是平均活跃进程数。 可运行...

2019-03-26 11:03:09 209 0

原创 使用策略模式优化过多的if else语句

此处的过多是指if else超过三层,如下面的代码: public class MainStart { public static void main(String[] args) { String message = "select"; ...

2019-03-18 19:54:23 1881 2

原创 Flink状态后端的使用

Flink提供了以下三种开箱即用的状态后端(用于存储状态数据),可以为所有flink作业配置相同的状态后端(flink-conf.yaml ),也可以为每个flink作业配置指定的状态后端。 MemoryStateBackend FsStateBackend RocksDBStateBack...

2019-02-13 14:14:16 1938 0

原创 Flink实现状态数据互相访问(即依赖数据访问,类似表之间的Join)

在流处理应用中,对单个event的处理如果不涉及与其他event交互或访问是比较简单的。但是如果对单个event的处理依赖其他topic过来的event或者后续处理的event依赖当前处理的event,这种情景类似于多表之间join,A和B join取A表的某几个字段。使用flink的state就...

2019-02-11 16:00:45 2780 0

原创 Alibaba Cloud ToolKit使用

Alibaba Cloud ToolKit可以帮助开发者在IDE中将本地应用程序一键部署到阿里云服务器或自有服务器上,可以在IDE中打开服务器的命令行终端,可以直接上传文件到服务器上,使用该toolkit做开发调试非常的方便,官网给出该toolkit包含三大功能: 1.应用部署 2.内置终端T...

2019-01-11 19:14:49 5554 0

原创 Flink状态计算实例与状态数据恢复(checkpoint)

状态计算,简单的理解是本次计算依赖于之前的计算结果,比如,根据key计算求和值,如: key  value 1001,3000-------------(1001,3000) 1002,500--------------(1002,500) 1001,400--------------(...

2019-01-10 11:37:54 5362 0

原创 maven jar冲突依赖总结(持续更新......)

1.logback和slf4j-log4j12冲突 使用logback作为日志框架,要排除掉slf4j-log4j12包(可能没有引入该包,但是引入的其他包的依赖中包含),两者有冲突,比如hive-jdbc中就包含该包,需要排除。 <dependency> ...

2018-12-04 10:40:49 221 0

原创 impala JDBC报错:[Simba][ImpalaJDBCDriver](500323) Error processing query translation statement.

impala JDBC连接impala表(impala和kudu关联表)进行upsert,delete操作,upsert操作没有任何问题,但是delete操作报错,完整错误如下: [Simba][ImpalaJDBCDriver](500323) Error processing query ...

2018-11-29 11:35:35 4830 0

翻译 Apache Flink-编程指南-项目设置

Java项目模板 前提条件:Maven3.0.4或更高,Java8 使用如下命令创建Maven项目: $ mvn archetype:generate \ -DarchetypeGroupId=org.apac...

2018-11-08 15:27:51 629 0

翻译 Apache Flink-编程指南-示例-批处理

本文将会看到图算法和简单的单词统计之间的不同,并展示了如何使用DataSet API。完整的源码可以在Flink的源码仓库中的flink-examples-batch或flink-examples-streaming中找到。 运行Flink程序你需要启动先启动一个Flink集群,最简单的方式是执...

2018-11-07 15:02:56 546 0

翻译 Apache Flink-编程指南-示例-监控维基百科编辑流

维基百科有一个IRC通道记录了所有的编辑信息,本例是Flink通过读取该通道统计每个用户编辑的字节数。这个是一个非常简单的流分析应用,可在此基础上构建更加复杂的流处理。 配置Maven工程 使用Flink Maven Archetype创建工程,命令如下: $ mvn archetype:...

2018-11-06 16:01:30 399 0

翻译 Apache Flink-编程指南-示例

Java工程样例和Scala工程样例可以引导配置maven或SBT工程并且包含了一个word count的简单实现。 监控维基百科是一个更加复杂流分析例子。 构建实时显示应用程序(使用Flink,ES,Kibana)可在elastic.co看到,展示了如何通过Flink,ES,Kibana构建...

2018-11-06 10:21:02 205 0

翻译 Apache Flink-编程指南-快速开始

设置:下载和启动Flink 启动一个本地Flink集群 阅读代码 运行示例 下一步 设置: 下载和启动Flink Flink运行在Linux, Mac OS X, and Windows. 能够运行Flink唯一的要求是正确安装了java8.Windows用户,请看Flink on ...

2018-11-05 17:03:13 762 0

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