自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Aspirin's Nest

虽千万人吾往矣。

  • 博客(15)
  • 收藏
  • 关注

原创 Springboot使用PageHelper分页插件

前言我一直对前端显示列表有什么误解,一直觉得不需要总数也可以实现分页。但事实却是是不太可以的。于是开始研究到底如何返回数据总条数。最初是自己实现分页逻辑。但是发现一旦要分页的结果不是简单的select *,而是涉及数据的group等操作,自己实现就开始变的麻烦起来。那为什么不找开源实现呢?于是就找到了PageHelper..使用步骤1. 引入依赖因为是springboot程序,所以引入下面的依赖就可以了。如果不是springboot程序,下面依赖恐怕是不可以的<dep

2020-12-29 16:04:02 250

原创 Flink 流表与维表join(流批join)——使用异步IO(async io)实现

前言之前的文章中讲过了Flink 流流join也讲过了翻车版本的流批join。为什么翻车了,那篇文章也说了。如果事实表和维度表进行join,Flink会认为这是一个批处理程序。也就是说程序会自己暂停。流批join的需求还蛮多的,比如我们有一张用户点击网站的数据,还有一张用户表在MySQL中,我们需要关联MySQL中的数据来丰富实时流数据,这就需要用到流批join了。数据MySQL数据模拟维度表。Kafka数据模拟点击流。代码异步io函数pac..

2020-12-27 11:38:37 1563 1

原创 【已解决】Flink Table 转 DataStream报错

Flink table和DataStream互转的时候,如果指定了自定义的pojo类,需要这个类是public的,否则就会报如下错误。Exception in thread "main" org.apache.flink.table.api.TableException: A raw type backed by type information has no serializable string representation. It needs to be resolved into a p.

2020-12-27 10:09:10 667

原创 搭建react空项目

前言date:2020-12-25本身不是做前端的,但是偶尔也会自己做个小项目,相比vue更喜欢react。但是前端跟后端的用法差距有些大(可能是前端不够熟练吧),每次新建一个前端项目都要捣鼓好久。所以索性就记录一下步骤并搭建一个空项目。以后用的时候直接去github上拉就行了。项目地址:react_template‘在GitHub上上传了一个空项目。除了必要的脚手架以外还添加了如下依赖:antd,各种定义好的组件 axios, 处理异步请求 react-router-dom,处

2020-12-25 19:31:13 491

原创 Flink SQL流表与维表join实践

流表就是像kafka这种消息队列中的数据。维表是像MySQL中的静态数据。想要使用Flink SQL的方式join两张表,静态维表的作用类似一张字典表。流表源源不断的来数据,然后去内存中查询字典将流表的数据更新然后插入到MySQL数据库中。依赖flink table该有的依赖就不说了。下面是连接kafka和jdbc的依赖。<dependency> <groupId>org.apache.flink</groupId>

2020-12-21 23:34:10 1444 1

翻译 Flink Blink Planner和Older Planner的区别

Blink做到了真正的流批统一,即将批看做是特殊的流,把处理批的API和处理流的API做成了一样的。也就是说不管是批数据还是流数据,底层统统都是DataStream。所以使用Blink作为table planner的程序,Table和DataSet是不能相互转换的。由于第一条原因的关系,Blink planner是不支持BatchTableSource的,它只支持StreamTableSource。Blink Planner和Old Planner的FilterableTableSource是不兼容的.

2020-12-20 11:56:34 1613 1

原创 Flink1.11 Table/SQL API 入门

下面是一个table api的模板。主要实现的功能是通过SQL API创建kafka source表和es sink表,然后将source表的数据插入到sink表中。当然实际上下面的代码有两个sink,除了sink到es以外还sink到了控制台。依赖<dependencies> <dependency> <groupId>org.apache.flink</groupId> &l

2020-12-20 11:52:06 216 5

原创 Flink process function使用详解

前言process function是flink中比较底层的函数。能够实现一些高层函数无法实现的功能。它可以操作三个非常重要的对象:event:数据流中的单个元素state:状态timers:(事件时间或处理时间)定时器,仅在keyedStream中可以访问。process function可以看做是可以访问state和timer的flatmap function。代码假设有这样一个需求,实现session window的功能。每个间隔时间为6s的“window”输出对应<key,c

2020-12-19 14:52:24 2596 2

原创 Flink join(流流)详解(一)

本文基于flink 1.11进行测试。前言本文仅仅作为一个Flink join入门demo的记录,会用到Flink1.11 事件时间(event time)、watermark、watermarkstrategy使用详细案例文章的知识。代码创建用于join的两个数据源package it.kenn.source;import org.apache.flink.streaming.api.functions.source.SourceFunction;import scala.

2020-12-09 12:40:00 2168

原创 Flink window function及常用窗口算子

代码这里先不讲原理,只先把代码列出来,有空整理。package it.kenn.window;import org.apache.flink.api.common.functions.AggregateFunction;import org.apache.flink.api.common.functions.ReduceFunction;import org.apache.flink.api.common.typeinfo.TypeHint;import org.apach...

2020-12-08 22:30:38 423

原创 【已解决 Flink Java API问题】The return type of function ‘xxx‘ could not be determined automatically

Flink Java API不像Scala API可以随便写lambda表达式,写完以后需要使用returns方法显式指定返回值类型,否则会报下面错误,大概意思就是说Java的lambda表达式不能提供足够的类型信息,需要指定返回值类型。不推荐使用lambda表达式而是使用匿名类。log4j:WARN No appenders could be found for logger (org.apache.flink.api.java.ClosureCleaner).log4j:WARN Please

2020-12-08 20:42:22 1893

原创 Flink累加器、计数器的使用

Flink累加器的结果只能在作业结束以后才能得到。这就意味着,如果是一个一直不间断执行的流处理程序是无法得到累加器结果的。只有批处理成功,也就是会结束的flink程序才能得到累加器结果。(我试过强行停止正在执行的flink程序无法得到结果,不知道由于某些异常导致flink程序停止是否可以得到累加器的结果)。最直接的累加器(Accumulator)就是计数器(Counter)。可以通过Accumulator.add(V value)方法增加累加器的值。在Flink程序的最后,Flink job会收集每

2020-12-06 21:31:07 1396

原创 datalore初体验,暨datalore加载本地文件

前言主要做大数据相关开发,今天突然想用python实现一下K-means算法。但是公司电脑没有python环境,索性装了anaconda3.8。发现多了一个机器学习相关开发工具叫datalore。刚上手感觉是jupyter notebook的的升级版,用着还挺好用的。登录账号以后还可以共享自己的项目,有点github内味了。(当然还是有很大不同的)但是问题随之也来了,测试k-means算法需要用我本地的数据。datalore这东西比较新百度找了一圈没找到,自己研究了一下。上传文件这个web

2020-12-04 14:55:25 5323 1

原创 Springboot application.properties配置文件常用配置项纪录

前言springboot的配置文件有很多很实用的配置,做项目的时候不时会用到一些,这里做一个总结,方便查阅。配置文件# 需修改启动端口server.port=1217server.tomcat.max-threads=1000#限制单个最大文件spring.servlet.multipart.max-file-size = 500MB#限制总上传数据总大小spring.servlet.multipart.max-request-size=500MB#配置支持后缀,sprin.

2020-12-01 11:12:32 356

原创 flink 检查点(checkpoint)配置与使用

前言之前文章有讲过flink的有状态算子。有状态算子就是讲算子产生的中间结果存储在Flink的一些内存数据结构中,比如ValueState、MapState等等。这可以算一种计算机制。比如对流中的某个字段进行累加,我们必须要保存累加的中间结果,下一个事件才能知道加谁。但是距离容灾还差一段距离。比如job失败了,程序都没有了,内存中也就没有状态数据了。这时候就需要检查点了。所以,检查点就是定期保存任务状态的机制。但是状态又保存到哪里了呢?之前说过的状态后端。检查点是用于错误恢复的,但这是有条件的:

2020-12-01 10:51:57 9410

空空如也

空空如也

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

TA关注的人

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