自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 资源 (1)
  • 收藏
  • 关注

原创 flink学习-flink sql

在flink的数据处理中,数据流是源源不断的,是无界的,所以对于flink处理的数据表是一张动态表,所以对于动态表的查询也是持续的,每接收一条新数据会进行一次新的查询。

2024-06-18 10:55:00 335

原创 flink学习-容错机制

在flink中最重要的容错机制,就是checkpoint机制,使用checkpoint可以将之前某个时间点的所有的状态进行保存,这个存档就是checkpoint。

2024-06-13 13:41:45 481

原创 flink学习-状态管理

在flink中,算子可以分为无状态和有状态两种情况。无状态的算子只需要观察每个独立事件,根据当前输入的数据直接输出结果。像:filter、flatMap、map都属于无状态的算子。有状态的算子则是除当前数据之外,还需要一些其他数据来计算结果。这里说的其他数据其实就是指状态,聚合算子,窗口算子都应该算是有状态的算子。状态也可以分为两种,一种是算子状态,一种是按键分区状态(只有进行key 进行分组的)

2024-06-11 11:23:59 385

原创 flink学习-处理函数

处理函数就是在进行数据处理的算子,process算子,因为process的使用相对来说非常灵活,这个算子可以说是包含了所有的解决方案,其余向filter等算子的底层实现也是通过调用process算子实现的,针对不同的场景可以实现不同的process抽象类。

2024-06-09 15:53:08 285

原创 flink学习-数据流join

数据流join前提,首先第一要在key by的时候可以分到同一个算子中,另外数据应该落在同一个窗口中才能完成join,输出结果则是匹配上的数据(在匹配结果上而言,与join相似)

2024-06-07 10:01:31 191

原创 Flink学习-时间语义

事件时间:数据产生的时间处理时间:数据的处理时刻。

2024-06-04 11:29:53 409 1

原创 flink学习-窗口计算

窗口一般有时间窗口和数量的窗口。时间窗口一般指一段时间范围内进行数据,flink中窗口并不是静态准备好的,而是动态创建的,当窗口区间范围有数据到达是,才会开始创建对应的窗口。

2024-05-29 11:19:40 174

原创 flink学习-基础编程

一般对于一个flink任务有四个步骤:获取执行环境 -> source(源算子)-> transformation(转换操作)->sink(输出)

2024-05-28 17:15:13 272

原创 flink学习-系统架构相关

我们在提交flink job时,一个flink job 会对应一个job manager。

2024-05-21 20:04:13 169

原创 图数据库学习HugeGraph-25:执行统计与分析

TraversalStrategy是“遍历策略”,可以在编译期分析遍历(Traversal)的组成,并在遍历满足TraversalStrategy的条件时对遍历进行修改。explain(),详细描述原始的Gremlin语句在编译期是如何转变为最终要执行的step集合的。profile(),统计Gremlin语句执行过程中的每个step消耗的时间和通过的对象等统计信息。Provider optimization,图数据库实现级别的策略。Finalization,遍历执行前的调整和清理策略。

2024-05-15 11:14:41 139

原创 图数据库学习HugeGraph-24:附加操作sideEffect

group(string)、groupCount(string)、subgraph(string)、aggregate(string)、inject(string)、profile(string)等。在进行图遍历时,可以在路径中做一些额外的附加操作,这个附加操作不会改变上一步的结果,会原封不动的传递到下一步去。附加操作看起来就像透明的,但实际上可以将附加操作的处理结果存储到外部变量中去。sideEffect(): 在某个位置插入一个附加操作,以执行额外的操作,通常可与store、sack等配合使用。

2024-05-15 11:11:04 161

原创 图数据库学习HugeGraph-23:转换操作map/flatMap

map 操作是是在遍历器中将元素映射(转化)成另一个类型的某个对象(1对1),进行后续处理。flatMap 则是 1对多。

2024-05-15 11:08:25 301

原创 图数据库学习HugeGraph-22:遍历终止terminal

Gremlin 中有一类特殊的操作,它能够终止遍历器的“遍历”行为,使其执行并返回结果。在这里要强调的一点:原生的 Gremlin 语句通常都是用遍历器连接起来的,但其实这些连接的过程并不会执行 Gremlin 语句,只有走到了terminalStep 时才会执行。这是 Tinkerpop 的 Gremlin 解析引擎对遍历器对象调用了一个IteratorUtils.asList()方法,又调用了它内部的fill()方法(注意:不是上面讲到的fill()Step)。

2024-05-15 11:00:43 258

原创 图数据库学习HugeGraph-21:局部操作local

另外,有一些step默认的操作是针对对象流中的全部对象,但也可以通过参数来改变默认操作,允许针对对象流中的单个对象进行操作,包括count(),max(),mean(),min(),sum(),order(),tail(),limit(),range(),sample(),skip()和dedup()等。很多操作是针对传递过来的对象流中的全部对象进行操作,但也有很多时候需要针对对象流中的单个对象而非对象流中的全部对象进行一些操作。这种对单个对象的局部操作,可以使用local()语句实现。

2024-05-15 10:55:40 131

原创 图数据库HugeGraph学习-20:遍历栅栏barrier

Gremlin在路径遍历的时候,可以将栅栏barrier插入到懒加载的遍历流水线中,以使得barrier之前的步骤都执行完成之后再继续往下执行。barrier(): 在某个位置插入一个栅栏,以强制该位置之前的步骤必须都执行完成才可以继续往后执行,比如g.V().both().barrier().both()只有在第一个both()全部完成之后才会执行第二个both()。参考:https://blog.csdn.net/javeme/article/details/89182912。

2024-05-15 10:48:36 173

原创 图数据库HugeGraph学习-19:结果存取口袋sack

此外在放入数据到口袋的时候,还可以做一些灵活的操作比如:分裂(split)、合并(merge)等。sack相关step属于Gremlin语言里面的高级操作,在处理较为复杂的任务时可以灵活的实现一些特殊功能。withSack(): 创建一个口袋,并给定一个初始结构,比如可以是一个返回Map或者随机数的lambda函数,也可以是一个对象或常数;另外还可以提供lambda分裂函数,以指定当traverser分裂时的行为,比如进行clone操作。当传入lambda合并函数作为参数时,可指定放入口袋的行为如何执行;

2024-05-15 10:44:18 177

原创 图数据库HugeGraph学习-18:随机过滤与注入

gremlin支持在遍历器上结果进行采样或者是做随机过滤。sample: 接受一个整数值,从前一步的遍历器中采样(随机)出最多指定数目的结果;coin: 字面意思是抛硬币过滤,接受一个浮点值,该浮点值表示硬币出现正面的概率。coin Step 对前一步的遍历器中的每个元素都抛一次硬币,出现正面则可以通过,反面则被拦截。注入说明Gremlin允许在遍历器中注入一些默认值或自定义值,比如在分支 Step 中给 else 路径的元素一个默认值,又或者在遍历器过程中人为地加上一些额外的元素。

2024-05-15 10:35:13 309

原创 图数据库HugeGraph学习-17:模式匹配

match()语句为图查询提供了一种基于“模式匹配”的方式,以便用更具描述性的方式进行图查询。match()语句通过多个模式片段traversal fragments来进行模式匹配。这些traversal fragments中会定义一些变量,只有满足所有用变量表示的约束的对象才能够通过,并被放到一个Map<String, Object>中,其中map的key为变量名(label),value为顶点、边、路径或者属性。match()语句的格式为:match(Traversal…)。

2024-05-15 10:26:06 442

原创 图数据库HugeGraph学习-16:结果聚集与展开

将在图中进行查询时,将某一步的结果都收集到一个集合中,以备在后续步骤中使用,此外还可能在后续需要的时候将聚集的结果进行展开。

2024-05-15 10:17:49 199

原创 图数据库HugeGraph学习-15:合并

optional: 只能接受一个遍历器(traversal),如果该遍历器能产生一个结果,则返回该结果,否则返回调用optionalStep的元素本身。原文链接:https://blog.csdn.net/u010260089/article/details/82837664。coalesce: 可以接受任意数量的遍历器(traversal),按顺序执行,并返回第一个能产生输出的遍历器的结果;union: 可以接受任意数量的遍历器(traversal),并能够将各个遍历器的输出合并到一起;

2024-05-15 09:56:55 183

原创 图数据库HugeGraph学习-14:分支

在对图进行遍历分析时,有时需要根据某些条件对当前的对象集合进行不同的操作,也就是if-then-else语法结构。Gremlin中有一类step可以满足这种分支需求,这组step叫做branch step。branch()是这类step的基础,比较抽象,而choose()是典型的branch step。

2024-05-14 20:46:33 1518

原创 图数据库HugeGraph学习-13:路径选取与过滤

Gremlin支持从走过的路径里选取部分数据作为结果,并且可以在选取时进行条件过滤。

2024-05-14 20:35:01 228

原创 图数据库HugeGraph学习-12:数学计算

exp: euler’s number raised to the power (e^x),以e为底的指数。log: logarithmus naturalis (base e),以e为底的对数。log10: logarithm (base 10),以10为底的对数。log2: logarithm (base 2),以2为底的对数。cosh: hyperbolic cosine,双曲余弦。sinh: hyperbolic sine,双曲正弦。asin: arc sine,反正弦。

2024-05-14 20:26:33 132

原创 图数据库HugeGraph学习-11:统计运算

Gremlin可以在Number类型的流(遍历器)上做简单的统计运算,包括计算总和、最大值、最小值、均值。

2024-05-14 20:23:36 167

原创 图数据库HugeGraph学习9:逻辑运算

在遍历器上加上逻辑运算进行过滤,只有满足该逻辑条件的元素才会进入下一个遍历器中。

2024-05-14 20:18:03 175

原创 图数据库HugeGraph学习9:条件过滤

通常我们都是基于筛选来选取我们需要的数据,在对图进行遍历分析的时候,经常需要满足一定条件进行对象过滤。where() 就是用来过滤遍历过程中当前阶段的对象。另一方面,predicate就是过滤使用的判断条件,包含关系运算和区间判断等,只有满足判断条件的对象才能通过进入下一轮或者作为结果。

2024-05-14 20:10:14 148

原创 图数据库HugeGraph学习-8:数据分组去重

数据分组对应SQL数据中常见的group by的操作,从某个维度上对拥有相同的 点进行分组,比如根据年龄分组,根据出生省份分组等。数据去重则是为了去除结果集中的相关的元素,去除在某个维度上相同的数据。

2024-05-14 11:09:25 278

原创 图数据库HugeGraph学习-7 查询结果排序

与sql数据库中最后我们在输出展示结果时,常常会限制输出的条数,或者是限制输出展示的顺序等操作,同样的Gremlin也是允许对图查询结果进行排序输出的,可以指定某个属性的升序、降序或者是随机序的方式输出。

2024-05-14 10:38:45 126

原创 图数据库HugeGraph-6:循环操作

循环操作是指多次执行某一部分语句,用于语句需要重复运行的场景。

2024-05-13 20:47:32 148

原创 图数据库学习HugeGraph5:查询路径

在使用Gremlin对图进行分析时,关注点又是并不仅仅在最终到达的顶点、边或者属性上,通过怎样的路径到达最终的顶点、边和属性同样重要。此时查询路径就极为重要。path()返回当前遍历过的所有路径。有时需要对路径进行过滤,只选择没有环路的路径或者选择包含环路的路径,Gremlin针对这种需求提供了两种过滤路径的step:simplePath()和cyclicPath()。

2024-05-13 20:28:49 228

原创 图数据库HugeGraph学习-4:查询结果命令

图数据库学习

2024-05-13 17:10:21 282

原创 图数据库HugeGraph学习-3:has条件过滤

hugeGraph学习

2024-05-13 16:50:03 271

原创 图数据库HugeGraph学习-2:边的遍历操作

图数据库学习

2024-05-13 16:19:45 297

原创 图数据库HugeGraph学习-1:基本概念

图数据库HugeGraph学习

2024-05-13 15:14:19 179 1

原创 图数据库基本介绍

图数据库

2024-05-13 11:33:48 127

原创 flink学习-7(parallelism and slot)

parallelism是flink中并行度,用以提高flink任务job的执行效率,可以通过调整配置提高flink任务中并行度。

2024-04-30 16:08:52 214 3

原创 flink学习-6(flink项目运行)

需要将依赖在pom.xml进行编辑,需要使用mvn在pom.xml中所在文件下执行完成项目打包,同时将依赖的相关jar打包在内然后使用flink客户端完成任务提交。

2024-04-30 15:22:57 199 3

原创 flink学习-5(Stream Windows)

在流式的数据,可以人为数据是源源不断水流,无穷无尽,我如何要对数据流速进行评估,如果统计总计流过的数据流量,如何进行计算,根本原因在于流是无界的,虽然我们不能限制流,但是可以在一段数据上开窗,在这一段数据上可以将数据流看做是有界的数据。

2024-04-30 14:33:23 1515

原创 flink学习-4(Data Sink/Transformation)

sink 下沉,在flink数据处理过程中是为了将数据沉淀下来,换句话说,flink通过data source接入数据,然后在flink进行相关计算,然后操作后将计算后的数据结果sink到某个地方。

2024-04-30 11:28:29 396 3

原创 flink学习-3(Data Source)

addSource - 添加一个新的 source function。例如,你可以 addSource(new FlinkKafkaConsumer011(…)) 以从 Apache Kafka 读取数据基于集合:有界数据集,更偏向于本地测试用基于文件:适合监听文件修改并读取其内容基于 Socket:监听主机的 host port,从 Socket 中获取数据自定义 addSource:大多数的场景数据都是无界的,会源源不断的过来。

2024-04-29 14:12:23 1385

文件整理,qt项目,c++变成

通过该项目可以完成将相关文件进行录入查看相关文档单词使用情况的项目,其中集成了树结构的使用,是很好的辅助学习qt编程和树结构的学习项目。

2024-05-13

目标跟踪+siamese 网络+论文与对应代码实现

目标跟踪+siamese 网络+论文与对应代码实现 目标跟踪算法相关代码与论文实现,对于目标跟踪初学者很好的入门项目

2024-05-11

将html转化成带转译字符串C代码

可以将html文档转化成字符串在报头中中直接使用

2015-11-09

空空如也

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

TA关注的人

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