自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

StephenYou的自习室

什么时候咸鱼能不咸了呢?

  • 博客(99)
  • 资源 (12)
  • 收藏
  • 关注

原创 4.时间与窗口

本质上来说就是一个自定义规则,计算窗口中每个数据记录,然后与一个事先定义好的阈值做比较,丢弃超过阈值的数据记录。定时器服务在Flink中叫作TimerService,TimeService是在算子中提供定时器的管理行为, 包含定时器的注册和删除。在实际的生产中Punctuated方式在TPS很高的场景下会产生大量的Watermark,会对下游算子造成一定计算压力,适用于实时性要求较高和TPS低的场景。窗口合并时按照窗口的起始时间进行排序,然后判断窗口之间是否存在时间重叠,重叠的窗口进行合并。

2023-08-08 22:05:01 477

原创 3.核心抽象

在运行时刻,DataStream的API调用都会被转换为 Transformation,然后从Transformation转换为实际运行的算子,而。当前版本Flink的批流在API并没有统一,所以有流计算(StreamExecutionEnvironment)和批处理(ExecutionEnvironment)两套执行环境。RuntimeContext是Function运行时的上下文,封装了Function运 行时可能需要的所有信息,让Function在运行时能够获取到作业级别的 信 息。

2023-08-07 23:02:43 445

原创 2.Flink应用

2.1 数据流DataStream:DataStream是Flink数据流的核心抽象,其上定义了对数据流的一系列操作 DataStreamSource:DataStreamSource 是 DataStream 的 起 点 , DataStreamSource 在StreamExecutionEnvironment 中 创 建 , 由 StreamExecutionEnvironment.addSource(SourceFunction)创建而来,其中SourceFunction中包含了Da

2023-08-06 00:07:53 1224

原创 Flink CEP(三)pattern动态更新(附源码)

线上运行的CEP中肯定经常遇到规则变更的情况,如果每次变更时都将任务重启、重新发布是非常不优雅的。本文将介绍CEP Pattern动态注入的原理和实现,文末附上源码地址。

2023-08-05 23:49:48 2732 3

原创 Flink CEP(二) 运行源码解析

通过DemoApp分析CEP的源码执行逻辑。为下一篇实现CEP动态Pattern奠定理论基础。

2023-07-29 21:25:40 1186 1

原创 1.Flink概述

Master的角色是JobManager, 负责集群和作业管理。Slave的角色是TaskManager,负责执行计算任务。

2023-07-25 23:06:26 1128

原创 Flink CEP (一)原理及概念

CEP 系列(一),介绍CEP的原理及概念和API的简单使用。下一篇实战CEP规则动态更新。

2023-07-22 16:35:13 1025

原创 Day2、Hive json_tuple性能比get_json_object更高吗?为什么?

get_json_object与json_tuple的性能基本没有差别,差别在于二者的功能不一样。lateral view适用于一行->多行的场景,lateral view + json_tuple对开发者友好,但是性能损耗较大,除非有嵌套多字段解析和炸裂操作,否则不建议使用。文章分享就到这里,有误的地方欢迎指出,也欢迎大家关注我的公众号咸鱼说数据一起讨论数据开发的相关内容。

2022-10-14 21:26:36 2061

原创 OLAP面试题-概括篇

本文只是对OLAP引擎可能遇到的面试问题做了一个大概的总结,具体到每一种OLAP引擎的使用和调优,会在专栏后续进行介绍。

2022-10-08 20:58:15 969

原创 二、Redis持久化

Redis提供了两种持久化方式RDB(全量数据快照)和AOF(命令日志记录)。RDB全量快照,开销大,适用于数据冷备和复制传输。AOF记录日志,适用于实时持久化。

2022-07-16 21:59:49 814

原创 一、Redis数据结构

redis数据结构介绍

2022-05-30 21:42:48 359

原创 Paxos一致性算法详解

Paxos一致性算法详解1.问题描述假设有一组可以提出提案的进程集合,那么对于一个一致性算法来说需要保证以下几点:在这些被提出的提案中,只有一个会被选定。 如果没有提案被提出,那么就不会有被选定的提案。 当一个提案被选定后,进程应该可以获取被选定的提案信息。而且为了满足安全一致性,有如下要求:要求只有被提出的提案才能被选定。 只能有一个提案被选定。 如果某个进程认为某个提案被选定了,那么这个提案必须是真的被选定的那个。在Paxos一致性算法中,有Proposer、Acceptor

2020-12-06 21:42:25 572 3

原创 最小生成树算法复习

Leecode最小生成树问题汇总求最小生成树是数据结构中图的一种重要应用,一个有 n 个结点的连通图的生成树是原图的极小连通子图,且包含原图中的所有 n 个结点,并且有保持图连通的最少的边。而求最小生成树有两种算法,一种是Prim算法,一种是Kruskal算法。1.Prim算法Prim 算法求最小生成树,它的要求是从一个带权无向完全图中选择 n-1 条边并使这个图仍然连通 (也即得到了一棵生成树 ),同时还要考虑使树的权最小。Prim算法的适用范围:MST(Minimum Spannin

2020-11-30 23:35:47 252

原创 Leetcode并查集问题汇总

Leetcode并查集问题汇总今天决定把并查集完全搞懂。1.什么是并查集1.1 抽象定义

2020-11-24 14:57:32 3635 2

原创 Day1、为什么JDK1.8中HashMap从头插入改成尾插入

Day1、为什么JDK1.8中HashMap从头插入改成尾插入头插入和尾插入是什么意思,首先我们知道,HashMap的实现原理是数组+单链表的形式,当出现hash冲突的时候,元素会以链表的形式存储,JDK1.7中元素插入链表是从头部插入,JDK1.8中是从尾部插入。看看JDK1.8中HashMap的源码,从头捋一遍。存储方式 //以数组的形式存储Hash值,当存在hash冲突时使用单链表存储 transient Node<K,V>[] table; /**

2020-10-11 16:22:06 4979 2

原创 Java基础之多线程

目录一、基本概念进程线程多线程相互关系同步和异步并发和并行二、多线程的使用1.继承Thread类2.实现Runnable接口3.线程池一、基本概念进程进程是程序的一次执行过程,是系统执行程序的基本单位,所以进程是动态的。程序的一次运行就是进程从创建、运行到消亡的过程。线程线程是操作系统能够运算调度的最小单位,是进程中的一个单一顺序的控制流,它被包含在进程中,是进程的实际运作单位。一个进程可以并行多个进程,每个线程并行执行不同的任务。

2020-08-10 19:11:50 414

原创 工作中常用的git命令

工作中常用的git命令

2020-07-15 01:37:15 421

原创 SBT、MAVEN、IVY的区别与联系

java.lang.NoClassDefFoundError: scala/reflect/internal/Trees用maven写Scala程序的时候,报以下错误。Error:scalac: Error: scala/reflect/internal/Reporterjava.lang.NoClassDefFoundError: scala/reflect/internal/Rep...

2020-05-14 03:58:54 2033

原创 Spark调度解析

transformationflatmap,先map再flatcollect慎用actions宽窄依赖只要是shuffle,就是宽依赖,spark根据算子来判断是宽依赖还是窄依赖宽窄依赖是为了任务的切割DAG优化:一个job会被切分为多个stage,碰到宽依赖就会切分一下有几个pipeline就有几个task,stage2有4个task...

2020-04-12 17:20:22 374

原创 从源码看HashMap和HashTable的区别

从源码看HashMap和HashTable的区别继承的父类不同:HashMap继承是AbstractMap类,Hashtable继承的是Dictionary。初始容量不同:HashMap的默认容量是16,而且规定了它的容量只能是2的整数次幂;Hashtable的默认容量是11,最小值是1,最大值为2的31次方-9.扩容方式不同:HashMap扩容新容量=旧容量*2,Hashtable新容量=旧容量*2+1.线程是否安全:HashMap是线程不安全的,Hashtable线程安全;后者的put方法使用

2020-04-03 21:44:23 256

原创 寒假作业 && 剪邮票

寒假作业package lanqiao.lanqiao_2016;/** * Created by ministrong on 2020/3/5. * 寒假作业 现在小学的数学题目也不是那么好玩的。 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果显示不出来,可以参见【图1.jpg】) 每个方块代表1...

2020-03-30 15:23:47 171

原创 Spark持久化策略_缓存优化

Spark持久化策略_缓存优化RDD的持久化策略当某个RDD需要进行频繁复用的时候,spark提供RDD的持久化功能,可以通过使用persist()、cache()两种方法进行RDD的持久化。如下所示://scalamyRDD.persist()myRDD.cache()为什么要使用持久化?因为RDD1经过Action生成新的RDD2之后,原先的RDD1就会被从内存中删...

2020-03-26 23:12:00 575

原创 煤球数目 && 生日蜡烛 && 搭积木

煤球数目2016年题目的难度明显感觉比2017年简单不少。package lanqiao.lanqiao_2016;/** * Created by ministrong on 2020/3/4. * * 煤球数目 有一堆煤球,堆成三角棱锥形。具体: 第一层放1个, 第二层3个(排列成三角形), 第三层6个(排列成三角形), 第四层10个(排列成三角形), .....

2020-03-04 13:58:46 325

原创 分巧克力 && 油漆面积

分巧克力package lanqiao;import java.util.Scanner;/** * Created by ministrong on 2020/3/2. * * 标题: 分巧克力 儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从...

2020-03-03 16:56:08 188

原创 IDEA Unable to import maven project: See logs for details

IDEA Unable to import maven project: See logs for details用maven开发spark的时候遇到的问题,maven无法导入项目依赖。这是因为maven的版本高于IDEA导致的。解决方法:可以在官网http://maven.apache.org/docs/history.html查看与你的idea版本匹配的maven版本进行下载,然后安...

2020-03-01 21:08:39 243

原创 最大公共子串 && 正则问题

最大公共子串标题:最大公共子串最大公共子串长度问题就是:求两个串的所有子串中能够匹配上的最大长度是多少。比如:"abcdkkk" 和 "baabcdadabc",可以找到的最长的公共子串是"abcd",所以最大公共子串长度为4。下面的程序是采用矩阵法进行求解的,这对串的规模不大的情况还是比较有效的解法。请分析该解法的思路,并补全划线部分缺失的代码。public ...

2020-02-29 15:06:54 303

原创 字母组串

标题:字母组串由 A,B,C 这3个字母就可以组成许多串。比如:"A","AB","ABC","ABA","AACBB" ....现在,小明正在思考一个问题:如果每个字母的个数有限定,能组成多少个已知长度的串呢?他请好朋友来帮忙,很快得到了代码,解决方案超级简单,然而最重要的部分却语焉不详。请仔细分析源码,填写划线部分缺少的内容。public class A{ ...

2020-02-28 14:15:51 414

原创 方格分割

package lanqiao;/** * Created by ministrong on 2020/2/27. * 标题:方格分割 6x6的方格,沿着格子的边线剪开成两部分。 要求这两部分的形状完全相同。 如图:p1.png, p2.png, p3.png 就是可行的分割法。 试计算: 包括这3种分法在内,一共有多少种不同的分割方法。 注意:旋转对称的属于同一...

2020-02-28 13:39:44 241

原创 大数据面试(二)之常见SQL on Hadoop生态圈

Hive:将对应sql转化成执行引擎的作业:MapReduce/Spark/TezImpala:得提供足够的内存Presto:JDDrill:能够跨数据源,比如说连接HDFS和关系型数据库Phoenix:HBase(基于RowKey)Spark SQL:去官网去看看定义他们的MetaStore是一致的:框架之间共享元数据信息。Hive on Spark:...

2020-02-26 17:59:11 502

原创 迷宫

填空题:package lanqiao;/*** * 标题:迷宫 X星球的一处迷宫游乐场建在某个小山坡上。 它是由10x10相互连通的小房间组成的。 房间的地板上写着一个很大的字母。 我们假设玩家是面朝上坡的方向站立,则: L表示走到左边的房间, R表示走到右边的房间, U表示走到上坡方向的房间, D表示走到下坡方向的房间。 X星球的居民有点懒,不愿意费力思...

2020-02-25 13:41:50 268

原创 大数据面试复习(一)之HDFS概况

HDFS架构概况HDFS核心组件的职责HDFS数据流程HDFS写数据流程1)blocksize=128/64/256,默认是128M2)几个副本 3/2/1配置在HDFS配置文件client来完成将数据分成block的工作。HDFS读数据流程HDFS高可用HA准备两个NN,一个active,一个standby(同步active ...

2020-02-19 16:21:38 219

原创 JAVA正则表达式

目录Java正则表达式概述捕获组正则表达式语法Pattern类方法Matcher类方法8. 字符串转换整数 (atoi)Java正则表达式概述正则表达式可以用来搜索、编辑或处理文本。在Leetcode中偶尔会碰见使用Java正则表达式处理字符串的题目。正则表达式试图通过定义一个模式来对字符串进行匹配。要学习java正则表达式,首先需要了解三个类。...

2020-02-15 14:36:30 357

原创 java中的堆——优先队列

目录java中的堆——优先队列215. 数组中的第K个最大元素PriorityQueue的特点源码解析PriorityQueue常用方法java中的堆——优先队列215. 数组中的第K个最大元素在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,...

2020-01-15 23:58:40 840

原创 广度优先搜索.etc(随时更新)

127. 单词接龙给定两个单词(beginWord和 endWord)和一个字典,找到从beginWord 到endWord 的最短转换序列的长度。转换需遵循如下规则:每次转换只能改变一个字母。转换过程中的中间单词必须是字典中的单词。说明:如果不存在这样的转换序列,返回 0。所有单词具有相同的长度。所有单词只由小写字母组成。字典中不存在重复的单词。你可以假设...

2020-01-06 11:29:30 175

原创 Leetcode链表问题

目录Leetcode链表问题链表翻转问题Q1_25. K 个一组翻转链表Q2_24. 两两交换链表中的节点链表合并问题Q3_21. 合并两个有序链表Leetcode链表问题对刷到的链表问题进行一下汇总。(持续更新)链表翻转问题Q1_25. K 个一组翻转链表给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。k是一个正整数,它的值小于或...

2019-12-04 19:43:27 276

原创 Spark算子

目录Spark算子RDDRDD的属性RDD的创建常用的RDD算子RDD缓存机制RDD的Checkpoint(容错机制)RDD依赖关系和Spark任务中的StageSpark算子RDDRDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,它代表一个不可变、可分区、里面的元素可并行计算的集合...

2019-11-13 22:03:16 173 1

原创 Spark的安装与部署

目录Spark的安装与部署Spark概述Spark特点Spark与MapReduce对比Spark体系结构Spark部署伪分布式部署完全分布式Spark的安装与部署Spark概述Spark是一种快速、通用、可扩展的大数据分析引擎,2009年诞生于加州大学伯克利分校AMPLab,2010年开源,2013年6月成为Apache孵化项目,2014年2月成为A...

2019-11-02 03:46:46 453

原创 Scala的控制结构与函数

Scala的控制结构与函数控制结构scala和其他编程语言之间一个根本性的差异。在Java或C++中, 我们把表达式(比如3 + 4)和语句(比如if语句)看做两样不同的东西。表达式有值,表达式有值,而语句执行动作。在Scala中,几乎所有构造出来的语法结构都有值。这个特性使得程序更加精简,也更易读。 if表达式有值。 块也有值——是它最后-一个表达式的值。 Sc...

2019-10-25 02:15:32 418

原创 Scala解释器和常用数据类型

Scala解释器和常用数据类型Scala解释器声明值和变量常用数据类型算术和操作符重载

2019-10-21 20:15:20 428

转载 Trie前缀树

Trie前缀树简介Trie (发音为 "try") 又经常叫前缀树,字典树等等,是一种树数据结构,用于检索字符串数据集中的键。在计算机科学中,trie是一种有序树,用于保存关联数组,其中的键通常是字符串。与二叉查找树不同,键不是直接保存在节点中,而是由节点在树中的位置决定。一个节点的所有子孙都有相同的前缀,也就是这个节点对应的字符串,而根节点对应空字符串。一般情况下,不是所有的节点都有...

2019-10-19 23:34:07 299

winutils.exe

win10下运行MR必须,解压后拷入Hadoop的bin目录下,设置好Hadoop的环境变量即可。

2019-10-13

Solar System.zip解压vs直接运行

用OpenGl实现的模拟太阳系代码,八大行星拥有各自的轨迹,贴图精细,行星旁附有行星名字随着行星一起运动。可以通过键盘控制视点以及速度。vs可直接打开、运行。

2020-04-06

hadoop.dll

win10下运行MR必须,解压后拷入Hadoop的bin目录下,设置好Hadoop的环境变量即可。

2019-10-13

opengl glad.zip

解压即用:GLAD是继GL3W,GLEW之后,当前最新的用来访问OpenGL规范接口的第三方库。GLAD可以使OpenGL基础渲染变得十分简单。

2020-05-12

雪花效果解压vs可直接运行

实现粒子效应:下雪,压缩包中包含程序运行视频 1)降雪粒子效应 2雪花大小不一。 3)从减少雪花开始,逐渐增加数量。

2020-05-12

mfc110u.dll.rar

运行Xshell报错mfc110u.dll文件丢失,解压文件之后,双击运行两个exe,然后重启xshell即可。

2020-10-20

glad+glfw+glew.zip

Opengl扩展库集合:glad+glfw+glew,解压即用。用于帮助C/C++开发者初始化扩展(OpenGL扩展功能)并书写可移植的应用程序。

2020-05-12

贝塞尔曲线表面解压vs直接运行

贝塞尔曲线表面:压缩包中含运行视频 1)使用25 (5 x 5)个控制点 2)使用TCS设置细分等级 3)根据Bezier曲面的数学方程,使用TES计算新的顶点坐标和纹理坐标 4)通过键盘改变表面的平整度 5)支持线框模式显示。 6)添加纹理到贝塞尔表面。自己选择质地。

2020-05-12

Star Rotation(恒星旋转)vs可直接运行

235/5000 恒星旋转 (1)多颗恒星围绕一个中心旋转 (2)星星的颜色是不同的 (3)恒星旋转并呈螺旋状展开。 (4) 在a)阿基米德螺线,b)对数螺线和3)费马螺线中选择一种螺线类型。

2020-03-31

Display of 3D model(加载3D网格模型解压vs直接运行)

1)加载3D网格模型并显示在屏幕上 2)支持四种模式:线框模式、顶点模式、面模式、面和边模式。模式由键盘切换。在face模式下,每个面的颜色是不同的。 3)通过键盘旋转、平移模型 4)通过键盘在线框模式下改变颜色。

2020-03-31

Azkaban.zip

Azkaban是由Linkedin公司推出的一个批量工作流任务调度器,主要用于在一个工作流内以一个特定的顺序运行一组工作和流程,它的配置是通过简单的key:value对的方式,通过配置中的dependencies 来设置依赖关系。Azkaban使用job配置文件建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流。

2019-09-25

python-3.7.4-amd64.zip

Python最新版本,win10下载后解压缩,然后双击exe文件安装即可。会自动配置环境变量。

2019-09-22

空空如也

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

TA关注的人

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