java
文章平均质量分 81
Appreciate(欣赏)
有志者、事竟成,破釜沉舟,百二秦关终属楚;苦心人、天不负,卧薪尝胆,三千越甲可吞吴
展开
-
Flink的SQL开发
Table API和SQL是最上层的API,在Flink中这两种API被集成在一起,SQL执行的对象也是Flink中的表(Table),所以我们一般会认为它们是一体的。Flink是批流统一的处理框架,无论是批处理(DataSet API)还是流处理(DataStream API),在上层应用中都可以直接使用Table API或者SQL来实现;这两种API对于一张表执行相同的查询操作,得到的结果是完全一样的原创 2024-01-29 12:52:14 · 1363 阅读 · 0 评论 -
FlinkAPI开发之FlinkSQL
这里的依赖是一个Java的“桥接器”(bridge),主要就是负责Table API和下层DataStream API的连接支持,按照不同的语言分为Java版和Scala版。原创 2024-01-24 13:17:14 · 1675 阅读 · 0 评论 -
FlinkAPI开发之容错机制
既然是端到端的exactly-once,我们依然可以从三个组件的角度来进行分析:(1)Flink内部Flink内部可以通过检查点机制保证状态和处理结果的exactly-once语义。(2)输入端输入数据源端的Kafka可以对数据进行持久化保存,并可以重置偏移量(offset)。所以我们可以在Source任务(FlinkKafkaConsumer)中将当前读取的偏移量保存为算子状态,写入到检查点中;原创 2024-01-18 13:56:47 · 1210 阅读 · 0 评论 -
FlinkAPI开发之状态管理
Flink的状态有两种:托管状态(Managed State)和原始状态(Raw State)。托管状态就是由Flink统一管理的,状态的存储访问、故障恢复和重组等一系列问题都由Flink实现,我们只要调接口就可以;而原始状态则是自定义的,相当于就是开辟了一块内存,需要我们自己管理,实现状态的序列化和故障恢复。通常我们采用Flink托管状态来实现需求。原创 2024-01-18 13:15:12 · 1297 阅读 · 0 评论 -
FlinkAPI开发之水位线(Watermark)
在Flink中,用来衡量事件时间进展的标记,就被称作“水位线”(Watermark)。具体实现上,水位线可以看作一条特殊的数据记录,它是插入到数据流中的一个标记点,主要内容就是一个时间戳,用来指示当前的事件时间。而它插入流中的位置,就应该是在某个数据到来之后;这样就可以从这个数据中提取时间戳,作为当前水位线的时间戳了。周期性生成器一般是通过onEvent()观察判断输入的事件,而在onPeriodicEmit()里发出水位线原创 2024-01-16 14:10:38 · 1154 阅读 · 0 评论 -
FlinkAPI开发之处理函数
之前所介绍的流处理API,无论是基本的转换、聚合,还是更为复杂的窗口操作,其实都是基于DataStream进行转换的,所以可以统称为DataStream API。在Flink更底层,我们可以不定义任何具体的算子(比如map,filter,或者window),而只是提炼出一个统一的“处理”(process)操作——它是所有转换算子的一个概括性的表达,可以自定义处理逻辑,所以这一层接口就被叫作“处理函数”(process function)。原创 2024-01-16 14:08:52 · 1042 阅读 · 0 评论 -
FlinkAPI开发之数据合流
在实际应用中,我们经常会遇到来源不同的多条流,需要将它们的数据进行联合处理。所以Flink中合流的操作会更加普遍,对应的API也更加丰富。原创 2024-01-07 15:35:02 · 1781 阅读 · 1 评论 -
Flink自定义Source模拟数据流
Flink自定义Source模拟数据流。原创 2024-01-07 09:32:55 · 751 阅读 · 0 评论 -
FlinkAPI开发之数据分流
绝大多数转换算子,输出的都是单一流,流里的数据类型只能有一种。而侧输出流可以认为是“主流”上分叉出的“支流”,所以可以由一条流产生出多条流,而且这些流中的数据类型还可以不一样。利用这个功能可以很容易地实现“分流”操作。原创 2024-01-07 10:47:32 · 454 阅读 · 0 评论 -
FlinkAPI开发之自定义函数UDF
用户自定义函数(user-defined function,UDF),即用户可以根据自身需求,重新实现算子的逻辑。。原创 2024-01-07 09:55:18 · 1244 阅读 · 0 评论 -
JAVA集合框架总结
而Java 集合就像一种容器,可以`动态地`把多个对象的引用放入容器中原创 2024-01-05 14:36:02 · 994 阅读 · 0 评论 -
JAVA数组总结
Java 语言里提供了支持多维数组的语法。如果说可以把一维数组当成几何中的线性图形,那么二维数组就相当于是一个表格,像Excel中的表格、围棋棋盘一样。原创 2024-01-05 14:35:01 · 815 阅读 · 0 评论 -
java多线程及线程锁
为完成特定任务,用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。:程序的一次执行过程,或是正在内存中运行的应用程序。如:运行中的QQ,运行中的网易音乐播放器。:进程可进一步细化为线程,是程序内部的一条执行路径。一个进程中至少有一个线程。一个进程同一时间若并行执行多个线程,就是支持多线程的。线程作为。一个进程中的多个线程共享相同的内存单元,它们从同一个堆中分配对象,可以访问相同的变量和对象。这就使得线程间通信更简便、高效。但多个线程操作共享的系统资源可能就会带来安全的隐患。原创 2024-01-03 11:56:53 · 1127 阅读 · 0 评论 -
Unable to connect to Redis server
在没有为默认用户配置任何密码的情况下调用。你确定你的配置是正确的吗?原创 2024-01-03 11:22:04 · 1612 阅读 · 0 评论