自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 linux+vim常用快捷键

快捷键

2022-07-04 14:19:29 501 1

原创 docker基本命令

镜像常用命令

2022-03-16 10:14:57 2681

原创 flink事件属于窗口的计算方法

背景疑问1.一个窗口会不会变化?我们都知道flink有窗口和watermark的概念,当watermark大于窗口的endTime,将触发窗口中数据的计算,watermark是一个不断递增的时间戳,是不断变化的,如果我们假设一个窗口的开始时间和结束时间也是不断变化的,那么watermark就不好触发窗口计算。所以根据我们的假设,内心也是认为一个特定的窗口的开始和结束时间肯定是固定的。疑问2.窗口是怎么初始化的?如果一个特定的窗口是不会变化的,比如滚动窗口,我们在代码中只需要传入窗口的size,就可以

2021-12-20 17:03:50 1675

原创 flink定时器机制源码解析

一、flink定时器机制源码解析1. 背景:什么是定时器,怎么使用定时器?1.1 什么是定时器(Timer)Timer(定时器)是flink提供的基于处理时间、事件时间定时触发执行的机制,应用场景类似于时间轮,往时间轮注册事件,等约定的时间后,时间轮把事件发送出来。我们在生产中常常用到定时器,比如当某个事件发生后,观察5分钟后,该事件是否发生状态改变,然后对事件进行相应的业务处理;在快递行业,客户下单,如果在30分钟内,快递小哥没有揽收,就会触发超时揽收任务,进行紧急调度,达到尽快揽收的目的,保障客

2021-12-16 16:35:03 2129 1

原创 git常用知识实战

git 命令

2021-10-22 17:01:03 991

原创 阮一鸣es课程总结

1.master节点选举的策略2.分片分配的策略3.简述下分词器的算法

2021-09-27 18:07:53 516

原创 保险哪些事

保险的分类:意外险 医疗险 重疾险一、意外险意外险:就是你发生了意外导致身体残疾或死亡发生的理赔(保多少赔多少)【比如发生交通意外】一般意外险都会附加医疗部分,就是发生意外,去医疗,赔付的保额意外险:有的意外险只有全残才会理赔(伤残分十级,一级最重(也就是全残【双目失明、植物人】)),也就是其他的伤残是不理赔的(比如少一个手臂)比如最高伤残保额是指全残的保额,还是最高的保额呢?意外险主要作用:主要还是意外导致残疾赔付,可以作为家里主要收入来源的人使用,不至于车贷、房贷无法偿还。保费:一般最便宜

2021-09-09 15:15:26 82

原创 chrome插件vimium快捷键介绍

快捷键说明类别j向下浏览当前页面浏览类-重要k向下浏览当前页面浏览类-重要gg跳到页首浏览类G跳到页尾浏览类r刷新浏览类-重要H当前页后退浏览类-重要L当前页前进浏览类-重要yy复制当前页的URL操作类yf复制当前页内的URL操作类p在当前页面打开剪贴板上的URL操作类P在新页面打开剪贴板上的URL操作类f在当前页面打开页面里的URL操作类-重要F在新页面打开页面里...

2021-09-06 11:29:21 465

原创 maven杂谈

1.依赖范围依赖范围:之所以会有依赖范围,是因为Maven在编译、测试和运行项目时会各自使用一套classpath,依赖范围就是用来控制这三种classpath的。compile:编译范围(默认范围):所有的时候都可用,同时打入包中provided:已提供范围:运行环境已提供该依赖(避免包中和运行环境冲突),运行时不可用,编译和测试可用,同时不具有传递性和不会打入包中runtime:运行时和测试时需要,编译时候不需要(例如:jdbc连接驱动)test:测试(编译测试和运行测试)时候可用,编译和运

2021-09-05 18:50:15 140

原创 maven浅谈之常用的插件

1. maven-compiler-pluginmaven-compiler-plugin编译插件有两个目标compile:compile和compile:test-compile分别默认绑定到compile和test-compile阶段一般这个插件不需要显示声明,即使是最常用的配置编译版本,都是可以直接在pom中配置。<properties> <maven.compiler.source>1.8</maven.compiler.source> &l

2021-09-05 18:42:01 799

原创 maven浅谈之settings.xml和仓库及镜像

概述settings.xml是maven最重要的配置,下面是其可以配置的元素,注意:settings配置的属性在pom也是可以引用的。<localRepository/><interactiveMode/><usePluginRegistry/><offline/><pluginGroups/><servers/><mirrors/><proxies/><profiles/>&l

2021-09-05 18:00:58 888

原创 maven浅谈之属性和profile及激活方式

简介maven中所有的属性,都是可以通过${属性名}获取对应属性值的。一、maven预定义的基本属性mvn提供四种默认的基本属性,分别是1.1 env:环境属性env是系统的环境变量,例如我们使用${env.HOME}获取用户的目录-${env.HOME}:用户目标,例如/Users/zhangsan-${env.USER}: 用户名,例如zhangsan-${env.PATH} : 环境变量1.2 project:项目属性project获取当前项目的属性-${project.grou

2021-09-05 16:21:25 1944

原创 maven浅谈之生命周期和插件目标

一、简介**maven本质就是插件的集合,我们执行的命令都是多个插件目标协作完成的。**例如我们执行mvn compile其实就是在执行maven-compiler-plugin在compile目标。二、插件目标插件目标,maven有很多插件,每个插件都有很多功能,可以理解为是这个插件的功能,底层都是用代码实现的。下面说几个重要的插件目标。(以后插件目标都简写成插件:目标)maven-compiler-plugin有两个重要的插件目标compile和test-compile,分别作用于编译和测试代

2021-09-04 23:42:41 334

原创 elasticsearch集群api

集群api和_cat对应的api很多都是相通的。1.Cluster Health获取集群的健康情况和一些基本信息GET _cluster/healthGET /_cluster/health/myindex,myindex1green:主副分片已经完成分配yellow:主分片分配完成,副分片没有分配完成red:分片不能分配2.Cluster State获取集群的状态GET /_cluster/state3.Cluster Stats获取集群的统计信息:节点情况,文档个数,分片

2021-08-19 18:01:01 108

原创 elasticsearch集群信息之cat命令

cat命令可以查看集群的信息,组成形式是:GET /_cat/indices?format=json&pretty, ?之前是命令,之后是参数,多个参数用&分隔。经常在终端的命令:curl -XGET '127.0.0.1:9200/_cat/indices?v' 或者curl -XPOST "127.0.0.1:9200/myindex/mytype/_mapping?pretty" -d '{ "mytype": { "properties": {

2021-08-19 15:32:44 4290

原创 elasticsearch中DSL之Span queries

引言span query(范围查询):通过该语句用户可以精准控制搜索词的先后顺序,以及多个搜索词在文档中的前后距离1.span term和term查询类似,(但是我实验发现,该句法不能在keyword上精确查找,所以下面的例子都是应用在text类型的字段上)GET myindex/_search{ "query": { "span_term": { "addr": { "value": "guangzhou"

2021-08-15 00:42:00 575

原创 elasticsearch中DSL之Joining queries(Has Child Query 和 Has Parent Query)

前言Elasticsearch这样的分布式计算系统执行全SQL风格的表连接操作代价昂贵。相应地,Elasticsearch提供了两种形式的联结可以实现水平规模的扩展。1.Nested Query嵌套查询,嵌套查询首先要定义嵌套字段类型,然后使用嵌套查询(我认为这种方式价值不高,既然使用嵌套字段,为什么不直接在上层字段直接新建字段表示嵌套字段的含义呢),这里不做说明。2.Has Child Query 和 Has Parent Query一般sql我们要jion查询是在两个表的。所以父子查询也要在两

2021-08-12 21:39:56 1160

原创 elasticsearch中DSL之Bool query

bool query布尔查询是一个复合查询,由各个bool类型的子查询组成。must :返回文档必须满足该条件,且提供分数filter :返回文档必须满足该条件,但是不需要提供分数should :返回文档可以满足0个或多个条件,且提供分数must_not : 返回文档必须不满足条件,但是不需要提供分数1.must子语句且逻辑GET myindex/_search{ "query": { "bool": { "must" :{

2021-08-11 16:59:20 695

原创 Mac版sublime text快捷键

快捷键说明类别ctrl+D依次删除光标后面的文本操作类-删除ctrl+K、cmd+KK删除光标到行尾的全部文本操作类-删除cmd+K+del、cmd+shift+del删除光标到行首的全部文本,并移动到行首操作类-删除ctrl+shft+K、cmd+X删除当前行操作类-删除cmd+enter快速插入下一行操作类cmd+shift+enter快速插入上一行操作类cmd+shift+D复制当前行到下一行操作类c....

2021-08-11 14:43:45 1151

原创 elasticsearch中DSL之Term level query(term query)

Term Level Query这里翻译为字段查询,字段查询是查询的文本不会被分词,只有对应的文档精确存在对应的查询文本才会返回。可以发现,字段查询是指查询文本不会被分词,而不是索引对应的mapping该字段不能分词,即使对应的字段是text属性,只要该文档的字段中存在对应的词元,就会返回。一般如果没有指定查询文本的分词器,就会使用mapping定义该字段的分词器来分析查询文本,所以一般我们用字段查询都是查询mapping中字段属性为keyword的字段。但是这不意味着match不能搜索keywor

2021-08-10 18:51:50 243

原创 elasticsearch中DSL之Full text queries(全文搜索)

全文搜索全文搜索是应用到字段类型为text上的搜索,也是es重要特性,es会根据字段的分词器算法,把字段进行解析,根据解析后的结果在es服务器中利用倒排索引算法,获取多个文档,并给出相应的得分。搜索和过滤的区别搜索要给出每个文档得分过滤不计算每个文档得分,而且过滤会把数据缓存起来。全匹配全部匹配,每个文档得分都是1GET myindex/_search{ "query": { "match_all": { } }}全部不匹配G

2021-08-05 22:13:09 764

原创 elasticsearch之Bucket Aggregation

对于bucket aggregation聚合,已经讲解了常用的Terms Aggregation链接,本篇讲解其他可能常用的分桶聚合。1.Filter Aggregation过滤聚合:是一个单值聚合,是把部分文档先确定下来,再进行子聚合运算(我任务场景比较小,通常会把该条件放到query里较好) "aggs":{ "fiter_one":{ "filter":{ "term":{ "a

2021-07-31 16:45:53 517

原创 elasticsearch之Terms Aggregation

引言Bucket aggregations本文译为桶聚合桶聚合(bucket aggregation)不像指标聚合(Metric aggregation)那样计算字段的指标,而是创建文档存储桶。 每个存储桶都与一个标准(取决于聚合类型)相关联,该标准确定当前上下文中的文档是否“落入”其中。 换句话说,存储桶有效地定义了文档集。 除了存储桶本身之外,存储桶聚合还计算并返回落入每个存储桶的文档数量。1.Terms Aggregation术语聚合(Terms Aggregation)在文档的指定字段中搜索

2021-07-23 18:25:27 2310 2

原创 elasticsearch之metrics aggregations

引言:aggregation定义"aggregations" : { "<aggregation_name>" : { "<aggregation_type>" : { <aggregation_body> } [,"meta" : { [<meta_data_body>] } ]? [,"aggregations" : { [<sub_aggregati

2021-06-14 17:22:03 559 4

原创 elasticsearch之Suggester

Suggestersuggester是提供合适的建议。例如我们在搜索引擎中,输入我们需要查询的内容,搜索引擎根据用户输入搜索的过程中,进行自动补全或者纠错,通过协助用户输入更精准的关键词,提高后续全文搜索阶段文档匹配的程度。Suggesters基本的运作原理是将输入的文本分解为token,然后在索引的字典里查找相似的term并返回。 根据使用场景的不同,Elasticsearch里设计了4种类别的Suggester,分别是:Term SuggesterPhrase SuggesterComple

2021-06-06 17:07:05 445

原创 elasticsearch之Search Template

Search Template:搜索模板我们在写查询条件时,有很多时候条件是相同的,只是传入的值是不同的,为了一劳永逸,我们可以定义一个搜索模板,以后在用到相同的查询的时候,不需要再次编写,直接使用该模板,传入需要查询的值即可。定义搜索模板(或者更新)POST _scripts/order_id_template{ "script": { "lang": "mustache", "source": { "query": {

2021-06-05 18:03:31 589 1

原创 elasticsearch之search APIs的特性

1. URL search并不是所有的查询都适合URL searchGET twitter/tweet/_search?q=user:kimchy参数列表:q :指定查询值df:如果没有指定field就使用该fieldsort:指定排序字段timeout:指定超时时间,默认不超时from,size:用于分页例子:使用默认field为user,值为zhangsan,按照年龄排序,从第4个开始共10个的文档,超时时间设置1sGET /my_index/_search?q=zhangsa

2021-03-16 18:35:28 92

原创 elasticsearch之文档APIs

1.创建文档1.1 文档和索引一样是可以不需要预先定义的,可以动态写入。action.auto_create_index:是否自动创建索引index.mapper.dynamic :是否自动创建mapping,mapping中是包含type的。1.2 version如果写入不指定版本,则es不会进行版本验证版本默认从1开始,以后每次递增1版本类型分为:internal:提供的版本和存储的版本相同才可以执行;external或者external_gt提供的版本大于存储的版本才可以执行;ex

2021-03-15 18:21:05 163

原创 elasticsearch之索引基本操作APIs

翻译出自:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/docs.html

2021-03-03 22:39:08 200 1

原创 elasticsearch之字段field参数

下面翻译下field的基本属性

2021-02-06 18:07:22 6280

原创 elasticsearch之mapping中元属性

元数据是mapping自带的基本属性。

2021-02-03 18:35:16 359

原创 ElasticSearch之基础数据类型

1.texttext数据类型是全文搜索类型,对一个的字符串会被分词,可以通过单个词搜索到对应的数据。但是text类型不能用于排序或者聚合等操作,如果想要全文分词搜索又要排序或者聚合,可以和keywod一起构建多元字段类型。1.keyword...

2021-02-01 00:46:12 1820

原创 elasticsearch之mapping

翻译出处: https://www.elastic.co/guide/en/elasticsearch/reference/5.6/mapping.html#mappingMappingmapping是定义索引的基础,可以定义索引的type、field、是否存储、是否被索引等等。哪些字段是全文检索哪些字段是数值、日期、地理信息等type的所有字段是否被检索字段值的展示形式在动态模板中自定义规则type每一个索引都是可以有多个不同的type(建议每个索引只定义一个type),类似于数据库

2021-01-31 17:25:27 150

转载 ElasticSearch基础属性之date类型

一、date是es中的基础数据类型,在es内部其实存储的时间戳,但是我们经常会把时间转成字符串存储,那么数据是怎么识别的呢。如果我们在mapping设置字段的type是date,则写入数据的格式是按照默认的方式识别-strict_date_optional_time||epoch_millis,这表明只接受符合strict_date_optional_time格式的字符串值,或者long型数字,否则会写入失败。经过测试strict_date_optional_time是如下其中一种格式都可以,并不支持我们

2021-01-31 14:33:13 5469

原创 elasticsearch 模板、分区、动态模板dynamic_templates

elasticsearch 动态模板es模板:新建索引不用重新写语句,按照某个模板自动生成对应的属性功能:可以实现索引分区,比如按照一个月生成一个对应的索引,把每个月的数据放入到对应的月份索引中,避免单个索引过大的问题本文主要是动态模板的使用说明,不涉及其中的原理实现,另外本文演示的es的版本是 5.4一、模板与分区下面是新建一个名称为: alibaba_temp的模板,匹配的规则是按照 alibaba_taobao~开头, 默认的type是 taobao,默认生成字段 userId和 crea

2021-01-31 00:56:38 1562

原创 mac 升级big sur,mvn 打包问题

在idea当执行mvn clean package -Psit命令后,总是打包失败,错误的提示如下Could not find artifact jdk.tools:jdk.tools:jar:1.8 at specified path /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/../lib/tools.jar -> [Help 1]显示jar包在jdk中找不到。通过/usr/libexec/java_h

2021-01-15 17:14:10 915

原创 flink的JobGraph生成源码分析

flink的JobGraph生成源码分析一、JobGraph简介JobGraph是基于StreamGraph生成的,主要的工作就是将多个符合条件的StreamNode链接chain在一起作为一个节点,这样可以减少数据在节点之间流动所需要的序列化/反序列化/传输消耗。那么本节的主要问题是:怎么判断节点是否可以连接在一起,即1和2怎么连接多个StreamNode怎么构建JobGraph的节点,即source和filter怎么构建新节点怎么构建JobGraph的边,即4和5怎么找到和生成的二、生

2020-12-28 19:13:05 524

原创 Flink之StreamGraph生成源码分析

Flink之StreamGraph生成源码分析一、StreamGraph是什么?是用户提交的代码,直接生产的数据流图二、生成StreamGraph的过程2.1 触发执行生成StreamGraph程序执行即env.execute("Java WordCount")这行代码,这里以RemoteStreamEnvironment环境为例@Overridepublic JobExecutionResult execute(String jobName) throws ProgramInvocation

2020-12-20 18:16:29 409 2

空空如也

空空如也

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

TA关注的人

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