随笔分类 -  读书笔记

摘要:CH-11 FlinkSQL 11.1 快速上手 引入依赖 <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-api-scala-bridge_2.12</artifactId> <version>${f 阅读全文
posted @ 2024-08-08 20:14 INnoVation-V2 阅读(40) 评论(0) 推荐(0)
摘要:CH12 Flink CEP 12.1 基本概念 CEP:复杂事件处理(Complex Event Processing) 复杂事件处理就是在事件流里,检测以特定顺序先后发生的一组事件,进行统计或报警提示,比如“连续登录失败”,或者“订单支付超时”等。 总结起来,复杂事件处理的流程可以分成三个步骤: 阅读全文
posted @ 2024-08-08 20:14 INnoVation-V2 阅读(76) 评论(0) 推荐(0)
摘要:一个Flink程序,就是对DataStream进行各种转换。基本上由以下几部分构成 接下来分别从执行环境、数据源、转换操作、输出四大部分,介绍DataStream API。 导入Scala DataStream Api import org.apache.flink.streaming.api.sc 阅读全文
posted @ 2024-08-08 20:13 INnoVation-V2 阅读(40) 评论(0) 推荐(0)
摘要:CH-10 容错机制 Flink有一套完整的容错机制来保证故障后的恢复,其中最重要的是检查点。本章将深入了解检查点的原理和Flink的容错机制。 10.1CheckPoint 触发保存时机 周期性保存,间隔时间可以设置 val env = StreamExecutionEnvironment.get 阅读全文
posted @ 2024-08-08 20:11 INnoVation-V2 阅读(69) 评论(0) 推荐(0)
摘要:CH-9 状态编程 9.1 状态简介 状态分为两种: 托管状态 由Flink统一管理,状态的存储、故障恢复等都由Flink实现,直接使用即可 原始状态 自定义,相当于开辟了一块内存,需要自己管理,实现状态的序列化和故障恢复。 状态类型包含值状态(ValueState)、列表状态(ListState) 阅读全文
posted @ 2024-08-08 20:11 INnoVation-V2 阅读(58) 评论(0) 推荐(0)
摘要:CH-8 多流转换 多流转换分为两类:分流、合流 ,合流的算子比较丰富 8.1 分流 一般通过侧输出流实现 完整代码 8.2 合流 1.union() DataStream → DataStream 合并多个DataStream,要求所有stream内的元素类型相同 DataStreamSource 阅读全文
posted @ 2024-08-08 20:11 INnoVation-V2 阅读(22) 评论(0) 推荐(0)
摘要:CH-6 时间与窗口 6.1 时间语义 事件时间(Event Time):数据产生的时间,默认使用 处理时间(Processing Time):数据到达窗口的时间 摄入时间:被Flink Source读入的时间 6.2 水位线 6.2.1 逻辑时钟 在使用事件时间时,Flink使用逻辑时钟对数据进行 阅读全文
posted @ 2024-08-08 20:10 INnoVation-V2 阅读(79) 评论(0) 推荐(0)
摘要:十五.套接字和标准IO 1.标准IO函数 标准函数的优点 具有良好的移植性 标准IO会提供缓冲,可提高性能 标准函数的缺点 不容易进行双向通信 有时会频繁调用fflush函数 需要传入FILE指针 2.使用标准IO函数 fd-->FILE* #includes<stdio.h> /* 失败返回NUL 阅读全文
posted @ 2024-07-03 00:12 INnoVation-V2 阅读(38) 评论(0) 推荐(0)
摘要:零、Linux文件基本操作 在Linux平台,可以认为socket是一种特殊的文件,使用相同的API进行操作。 1.文件描述符 用一个数字指代某个文件,对文件描述符进行操作,就会修改文件内容, 每个进程的文件描述符都是从0开始且独享的 有3个特殊的文件描述符无需创建即可使用 文件描述符 对象 0 标 阅读全文
posted @ 2024-07-03 00:11 INnoVation-V2 阅读(33) 评论(0) 推荐(0)
摘要:五.TCP原理 5.1 TCP Socket中的IO缓冲 TCP Socket的数据无边界,即write和read次数并不对应,多次发送的数据,可以通过read一次完成读取,一次发送的数据,也可以每次接收一部分,多次完成读取。 这主要是通过IO缓冲完成的。 调用write函数时,数据并未发送,而是移 阅读全文
posted @ 2024-07-03 00:11 INnoVation-V2 阅读(31) 评论(0) 推荐(0)
摘要:十.多进程编程 1.创建进程 #include<unistd.h> //成功0,失败-1 pid_t fork(void); //父进程返回子进程ID,子进程返回0 2.僵尸进程 子进程有两种结束方式 1.调用exit函数并传递参数 exit(1); 2.main函数中执行return语句返回值 r 阅读全文
posted @ 2024-07-03 00:11 INnoVation-V2 阅读(25) 评论(0) 推荐(0)