自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Elasticsearch笔记(十四) Elasticsearch工具类 支持树形结构

Elasticsearch工具类 支持树形结构1. 前言2. 目标2.1 目标:基于实体类的CRUD2.2 目标:支持查询ES中树形结构数据3. 问题和解决3.1 问题:获取泛型T的class,避免显示传入class3.1 解决:抄Spring Data的作业3.2 问题:树形结构如何设计3.2 解决:利用ES的nested类型,记录祖先节点ID4. 代码结构设计4.1 普通结构接口-EsRepository4.2 树形结构接口-EsTreeRepository4.3 普通结构抽象类-AbstractEsR

2020-05-15 15:38:51 659 1

原创 Flink教程(六) Flink 重启策略

Flink 重启策略一、前言二、Flink为何要重启?三、什么是state?四、state的分类1 operator state2 keyed state五、什么是checkpoint?六、Flink重启策略有哪些?1 固定延迟重启2 失败率重启3 不重启4 固定延迟重启 和 失败率重启的注意点5 代码案例七、结语一、前言在说Flink的重启策略有哪些之前,我们有必要先了解下Flink重启的目的和其它相关的术语,例如state、state backend和checkpoint等。如果学习新知识,上来就

2020-12-02 17:13:21 4

原创 Flink教程(五) DataStream 常用算子(下)

一、前言在上一篇博客Flink教程(二)DataStream Transformations 常用算子(上),我总结了一些基础的算子,这些算子从功能上看属于映射、过滤和聚合的类型。本篇想介绍些归约功能的算子。还有学习一门新的技术,的确需要坚持和多实践,不要急于求成。反正时间一大把,我们可以专心的学一两门技术,做到熟练至精通。不要想着学很多十八般武艺,成为所谓的全才。例如一个人比较精通Elasticsearch和Flink,那么同事遇到相关问题时也会想到来请教他。在开发会议上给出的建议也有一定的分量。

2020-12-01 16:09:21 12

原创 Flink教程(四) DataStream 常用算子(上)

一、前言算子会将一个或多个DataStream转换成一个新的DataStream。在工作中使用最多的也就这些DataStream转换算子,学好这些算子是入门Flink的必要。好在Flink的某些算子和Java8的lambda函数很像,这便于理解。下面我会先介绍Java的语法,再介绍Flink的语法,由浅入深。下面可以从图中看到DataStream和不同Stream之间,经过不同算子可以相互转换。二、Map2.1 Java Lambda的MapMap对于Stream中包含的元素使用给定的转换函

2020-12-01 16:07:04 23

原创 Elasticsearch笔记(二十七) mapping参数doc_values fielddata enabled

mapping参数doc_values fielddata enabled index norms coerce1 前言2 正排索引3 倒排索引4 doc_values5 fielddata6 coerce7 enabled8 index9 norms1 前言Elasticsearch的mapping字段类型非常丰富, 字段类型还有很多参数可设置, 知晓这些参数, 可以优化提高ES存储空间和性能.在学习mapping的参数配置前, 先大致了解下正排索引和倒排索引.我水平有限, 可参考大佬的博客Doc

2020-09-25 09:53:55 33

原创 Elasticsearch笔记(二十六) 详解mapping之nested

Elasticsearch详解mapping之nested1 前言2 创建nested字段的mapping3 插入测试数据4 nested查询5 nested聚合分析1 前言在工作开发中, 我们常遇到2张表示1对多的关系,这样的父子结构, 如果用MySQL存的话,子表设一个字段parentId存储父表的id,这样就可以用join关联查询.那么ES作为NoSQL,它有更便捷的存储方式来保存父子结构:第一种:join字段类型,子文档包含父文档ID,可用has_parent和has_child来查询第

2020-09-10 16:38:32 252

原创 Elasticsearch笔记(二十五) 详解mapping之object

Elasticsearch详解mapping之object1 举例: 传统数据库存对象数据2 ES存对象数据2.1 创建mapping2.2 插入数据2.3 查询object对象数据3 注意点: object类型不要存对象数组3.1 存入对象数组3.2 验证错误的查询结果elasticsearch支持某个字段存储一个JSON对象, 这个字段类型就是object.1 举例: 传统数据库存对象数据假设有一个人员信息如下:{ "region": "US", "manager": { "

2020-09-10 14:20:57 98

原创 前端学习笔记(三) Javascript 字符串函数 数组函数

Javascript 字符串和数组的常用函数总结1. 字符串函数2 数组函数1. 字符串函数/* 第一个字符位置为 0, 第二个字符位置为 1 返回在指定位置的符 */testCharAt() { const str = "Hello World!"; let a = str.charAt(0);//H let b = str.charAt(30);//"" console.log(a); console.log(b);},//连接两个或更多字

2020-09-03 12:50:44 28

原创 Elasticsearch笔记(二十四) 详解mapping之range

Elasticsearch详解mapping之range1 简介1.1 区间的开闭2 实验2.1 创建一个新的索引2.2 新增测试文档2.3 使用term查询匹配2.4 使用range查询匹配1 简介range字段类型表示一个字段的值是一个数值范围.例如一个range类型的字段的值是[10, 20], 那么用12来匹配该字段,则会命中该文档.range字段类型如下:类型说明integer_range[-231, 231-1 ]long_range[-263, 26

2020-09-02 15:40:13 101

原创 Elasticsearch笔记(二十三) 详解mapping之numeric

Elasticsearch详解mapping之numeric1 简介2 实验2.1 创建一个新的索引2.2 插入正确的数据2.3 插入越界的数据2.4 给整数赋值浮点数2.5 给整数赋值浮点数的字符串1 简介ES支持如下数字类型类型说明byte8位,-128 ~ 127short16位,-32768 ~ 32767integer32位,-231 ~ 231-1long64位,-263 ~ 263-1float单精度、32位、符合IEEE 754

2020-09-02 10:56:12 93

原创 Elasticsearch笔记(二十二) 详解mapping之boolean

Elasticsearch 详解mapping之boolean1 简介2 创建boolean类型的字段3 新增数据记录4 验证boolean类型查询4.1 查询is_published=true4.2 查询is_published=false4.3 对于null和缺失字段1 简介boolean类型非常简单,它就接受真或假。判断ES接受的值真true,“true”假false,“false”, “”(空字符)2 创建boolean类型的字段创建一个books索引,n

2020-08-31 17:44:12 126

原创 Elasticsearch笔记(二十一) 详解mapping之date date_nanos

Elasticsearch 详解mapping之date

2020-08-31 15:41:28 217

原创 Elasticsearch笔记(二十) 详解mapping之keyword

详解mapping之keyword1 前言2 核心类型2.1 关键词:keyword2.1.1 适合用keyword的例子2.1.2 说明2.1.3 实验2.1.4 手动设置mapping2.1.5 ignore_above是什么?1 前言本文基于ES7.6,如果是之前版本,是有区别的。ES支持的字段类型很多,但工作中常用的也就那些核心字段。 一开始学习ES时,掌握好常用的类型,不必要精通每一种,如果工作中遇到了需要用到特殊类型再去研究。学习一门技术要先广度后深度,不能陷入”只见树木,不见森林“。

2020-08-28 18:10:15 314

原创 Elasticsearch笔记(十九) reindex 重建索引,非常实用的功能

elasticsearch reindex 重建索引1. 简单的reindex2. 只创建目标索引中缺少的文档3. 设置批次大小4. 遇到冲突继续5. 只reindex符合条件的数据6. 只同步源index里部分字段7. 屏蔽掉不想同步的字段8. 用script脚本在同步时做数据处理9. 字段重新命名reindex功能是es的一个非常方便实用的功能,在工作中备份数据比较方便。比如:要对现场的数据进行操作,怕搞乱了,可以先用reindex备份一下当前表的mapping设置不合理,但是又不能修改,rei

2020-08-26 17:49:04 238

原创 Elasticsearch笔记(十八) 返回结果过滤 _source_includes和_source_excludes使用

ES返回结果过滤 _source_includes和_source_excludes

2020-08-26 14:29:27 32

原创 Elasticsearch笔记(十七) 乐观锁并发控制 if_seq_no 和 if_primary_term 详解

if_seq_no 和 if_primary_term 使用

2020-08-26 10:01:42 309

原创 Elasticsearch笔记(十六) routing refresh version 参数详解

Elasticsearch Document Index APIop_typeindexcreate乐观并发控制if_seq_noif_primary_term

2020-06-29 16:18:53 627

原创 Elasticsearch笔记(十五) 图解ES文档的读写原理
原力计划

ES Document DSL & Java API简介单文档API多文档API简介ES的Document API分单文档API和多文档API,它们的作用是对文档进行CRUD操作。注意:所有的CRUD API都单index API,它们只接收一个index name或alias。单文档APIIndexGetDeleteUpdate多文档APIMulti GetBulkDelete By QueryUpdate By QueryReindex...

2020-06-22 17:12:15 217

原创 Flink教程(三) 大白话 时间 窗口 watermark

大白话 时间 窗口 watermark1. 前言2. Time(时间)2.1 举个栗子2.2 设置时间类型3. Window(窗口)3.1 窗口的分类3.1.1 滚动窗口3.1.2 滑动窗口4. Watermark(水位线)5. 总结1. 前言2. Time(时间)在流式计算中,时间Time是一个很重要的概念,这里不搬运官文解释,就举个栗子吧。2.1 举个栗子假设有个股票数据量化系统:首先爬虫从新浪财经上获取当前股票最新价格(每5秒取一次价格),然后推到Kafka。Flink程序从Kafka

2020-06-14 11:29:26 218 2

原创 Flink教程(二) DataStream聚合 keyBy sum min和minBy区别

Flink 时间语义 窗口 watermark 聚合算子 多流算子

2020-06-11 18:07:55 589

原创 Flink教程(一) Flink DataStream 创建数据源 转换算子
原力计划

Flink基础入门 离线+实时WordCount流无界/有界有状态什么是状态状态基础类型Exactly-once利用内存性能时间事件时间Watermark迟到事件处理处理时间分层API流无界/有界有状态什么是状态状态基础类型Exactly-once利用内存性能时间事件时间Watermark迟到事件处理处理时间分层API...

2020-06-04 00:53:08 458

原创 Java8 Stream 统计 排序 List Map 相互转换

package com.pigg.study.tree.common.stream;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import java.util.*;import java.util.stream.Collectors;import java....

2020-04-23 16:23:22 1162

原创 Elasticsearch笔记(十三) ES 存储树形结构 整合Spring Data Elasticsearch
原力计划

Query DSL + Java API 总结ES结构倒排索引元数据MappingDocument APISearch APIAggregationsES结构倒排索引元数据MappingDocument APISearch APIAggregations

2020-04-21 19:25:48 1192 1

原创 Elasticsearch笔记(十二) elasticsearch 桶聚合 Query DSL
原力计划

Elasticsearch桶聚合简介准备数据指标聚合桶聚合1 terms2 多层terms3 filter 先过滤数据范围,再统计举例1:统计长安阵营下人数举例2:统计长安阵营下人的平均年龄4 filters 多过滤聚合举例1:分别统计战士和刺客的人数举例2:分别统计姓李,姓陈,年龄大于20的人数,3个桶如下:5 range6 date range举例1:查询最近7天的数据8 date histo...

2020-03-23 18:23:26 466

原创 Elasticsearch笔记(十一) ES term terms prefix 搜索 聚合查询 详细总结
原力计划

查询的DSL和Java API总结1 概要2 准备测试数据路由(routing)字段折叠查询分页查询_sourcenullfilterscorll聚合统计post_filterexplain1 概要2 准备测试数据路由(routing)字段折叠查询分页查询_sourcenullfilterscorll聚合统计post_filterexplain...

2020-03-19 18:33:30 390

原创 Elasticsearch笔记(十) Mapping 字段类型 keyword text date numeric

Mapping 字段类型前言核心字段类型1 keyword1.1 举例说明keyword2 text2.1 举例说明text类型分词3 Boolean类型4 日期类型复合类型Object(对象类型)Nested(嵌套类型)前言我们在用MySQL时,开发任务前会定义好表结构。如果表结构定义不好,后期开发会不断踩坑。用ES也是如此,虽然ES有mapping动态映射,但是它自动生成的不一定是我们...

2020-03-01 18:16:17 563

原创 Elasticsearch笔记(九) Query DSL 查询教程

Elasticsearch Index API

2020-02-27 16:29:19 609

原创 Elasticsearch笔记(八) 文档-Index API

Elasticsearch文档-Index API

2019-12-18 17:22:36 100

原创 Elasticsearch笔记(六) ES桶聚合Query DSL-Terms Aggregation

Elasticsearch 桶聚合 SQL DSL JavaAPI1 准备测试数据1.1 插入数据DSL1.2 表格展示2 Terms Aggregation(根据字段的值分组)2.1 根据dept分组,求每个部门的数量2.1.1 SQL2.1.2 DSL2.2 根据dept分组,求每个部门的数量,并排序2.2.1 SQL2.2.2 DSL2.3 对统计结果过滤,加having2.3.1 SQL2...

2019-11-28 10:28:28 460

原创 Elasticsearch笔记(五) 指标聚合 SQL DSL JavaAPI

指标聚合1 准备数据2 AVG(平均值)2.1 不带where条件求平均2.1.1 SQL描述2.1.2 DSL描述2.2 带where条件求平均2.2.1 SQL描述2.2.2 DSL描述2.2.3 Java API 描述3 MAX(最大值)3.1 SQL描述3.2 DSL描述3.3 Java API 描述4 MIN(最小值)4.1 SQL描述4.2 DSL描述4.3 Java API 描述5 ...

2019-11-26 18:19:50 223

原创 Elasticsearch笔记(四) High Level REST Client API 查询 聚合 分组

ES High Level REST Client API 查询 聚合1 准备数据1.1 插入测试数据2 Maven引入ES3 创建Client4 查询API4.1 根据id查询单条数据4.2 根据多个id查询4.3 根据条件分页查询4.4 count4.5 max5 terms聚合5.1 根据1个字段group by5.2 根据多个字段group by1 准备数据首先启动好的ES6.8服务和...

2019-11-21 18:38:23 1930

原创 Java8 Stream 集合 过滤 排序 分组 List转Map

Java8 Lambda操作集合Stream流什么是流准备数据创建流遍历流流只能使用一次过滤查询age>2的数据:查询有效的(valid = true)数据:Stream转List排序age升序age降序根据性别gender升序排,再以年龄age升序根据性别gender升序排,再以年龄age降序根据性别gender降序排,再以年龄age升序根据性别gender降序排,再以年龄age降序Lim...

2019-11-19 18:47:19 951

原创 Java8 lambda 排序 筛选 分组 求和 最大值 平均值

package cc.pigg.base.study.stream;import lombok.AllArgsConstructor;import lombok.Data;import java.util.*;import java.util.stream.Collectors;public class JavaStreamTest { private static Li...

2019-09-30 16:48:32 2010

原创 Hive入门

Hive入门安装和配置必要条件安装稳定版HiveMySQL作为Hive元数据库运行Hive启动Hadoop启动Hive CLI查询所有数据库查询所有表创建Hive表向表插入数据查询Hive表的数据安装和配置必要条件Java1.7(提示:Hive1.2之后的版本需要Java1.7+,强烈建议迁移至Java1.8)Hadoop2.x(优先),1.x(Hive2.0.0之后不支持)这里默认你已...

2019-08-16 18:35:38 317

原创 CentOS搭建Hive(一) 搭建Hadoop(单机版)

搭建Hadoop单机版1. 安装Java2. 解压Hadoop3. 修改Hadoop配置3.1 hadoop-env.sh3.2 core-site.xml3.3 hdfs-site.xml4. 启动HDFS5. 配置yarn模式5.1 mapred-site.xml5.2 yarn-site.xml5.3 启动yarn1. 安装Java将Java包解压到/usr/lib下,并重命名为jkd1...

2019-02-18 14:43:17 813

原创 Java多线程: FutureTask CompletableFuture

Java多线程:FutureTask CompletableFuture1. Runnable与Callable2. Future接口和FutureTask3. ExecutorService几种线程池4. 使用Callable+FutureTask获取执行结果5. CompletableFuture5.1 CompletableFuture中4个异步执行任务静态方法5.2 组合方法1. Run...

2019-02-14 17:26:30 269

原创 Java集合知识点: HashMap、ConcurrentHashMap、LinkedHashMap、TreeMap

Java集合Map1. Map比较2. 遍历map1. Map比较HashTableHashMapConcurrentHashMapLinkedHashMapTreeMap线程安全?安全不安全安全不安全不安全可存null都不可以允许一个null的key,多个null的valuekey顺序无序无序无序保留存入顺序对key按指定...

2019-02-13 17:26:48 242

原创 Java8集合List排序、筛选、求和、求最大值、平均值、List转Map

Java8集合List排序、筛选1. List1.1 ArrayList1.2 LinkedList1.3 ArrayList和LinkedList比较1.4 List过滤指定元素1.4.1 准备待测试的List1.4.2 使用Iterator遍历List1.4.2 使用Java8对List过滤筛选1.5 使用Java8对List排序1.5.1 单个字段排序1.5.2 多个字段组合排序1.6 Li...

2019-02-13 15:31:50 11642

原创 Centos搭建Kafka集群(3)-部署Kafka集群

部署Kafka集群1.修改环境变量2. 修改改$KAFKA_HOME/config 目录下的server.properties文件3.启动kafka4.测试kafka1.修改环境变量将kafka的包解压后放入/usr/lib里,然后添加环境变量#修改环境变量sudo vim /etc/profileexport KAFKA_HOME=/usr/lib/kafka_2.11-2.1.0...

2019-02-01 13:50:54 266

原创 Centos搭建Kafka集群(2)-Centos搭建Zookeeper集群

Centos搭建Zookeeper集群1.准备3台机器1.1修改hostname1.2修改hosts1.3设置ssh免密登录1.4验证ssh2.配置Zookeeper2.1修改环境变量2.2创建data和dataLog目录2.3修改Zookeeper配置文件2.4生成myid文件2.5启动1.准备3台机器1.1修改hostname分别设置3台机器的hostname为pigg01/pigg02...

2019-02-01 10:49:35 118

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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