自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

LBJ_小松鼠的博客

Flink NLP CV

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

原创 ES的入门

1-Elasticsearch简介ES官网点击介绍:Elasticsearch是一个基于Lucene的搜索服务器提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。官方客户端在Java、.NET(C#)、PHP、Python、Apache Groovy、Ruby和许

2021-10-06 22:11:08 594

原创 java: 程序包org.aspectj.lang不存在怎么办

java: 程序包org.aspectj.lang不存在一、IDEA在使用时,可能会遇到maven依赖包明明存在,但是build或者启动时,报找不存在。解决办法:第一时间检查Setting->Maven-Runner红圈中的√有没有选上。二、有时候,明明依赖包存在,但是Maven页签中的依赖就是报红色波浪线。解决办法:在pom中先移除。idea会自动构建一把。然后,再加回去。idea再构建一下,就不报红了。...

2021-09-20 13:34:17 4849

原创 关于FlinkCDC 2.0的官网最新说明

目录CDC 的全称是 Change Data Capture ,在广义的概念上,只要是能捕获数据变更的技术,我们都可以称之为 CDC 。目前通常描述的 CDC 技术主要面向数据库的变更,是一种用于捕获数据库中数据变更的技术。CDC 技术的应用场景非常广泛:1. Dynamic Table & ChangeLog Stream2. 传统 CDC ETL 分析3. 基于 Flink CDC 的 ETL 分析4. Flink CDC 项目发展1. Flink C

2021-08-13 14:34:31 4371

原创 Flink的性能优化小结

1- 复用对象stream .apply(new WindowFunction<WikipediaEditEvent, Tuple2<String, Long>, String, TimeWindow>() { @Override public void apply(String userName, TimeWindow timeWindow, Iterable<WikipediaEditEvent> iterable, Coll

2021-08-09 10:08:17 307

原创 关于Flink的Metrics监控说明

1-Metrics介绍由于集群运行后很难发现内部的实际状况,跑得慢或快,是否异常等,开发人员无法实时查看所有的 Task 日志,比如作业很大或者有很多作业的情况下,该如何处理?此时 Metrics可以很好的帮助开发人员了解作业的当前状况。Flink 提供的 Metrics 可以在 Flink 内部收集一些指标,通过这些指标让开发人员更好地理解作业或集群的状态。2- Metric TypesMetrics 的类型如下:1,常用的如 Counter,写过 mapreduce 作业的开发人员就应该很熟

2021-08-09 09:49:31 1054

原创 Flink中的双流Join详解

1-Flink中双流Join介绍注意:双流Join是Flink面试的高频问题Join大体分类只有两种:Window Join和Interval Join。Window Join又可以根据Window的类型细分出3种:Tumbling Window Join、Sliding Window Join、Session Widnow Join。Windows类型的join都是利用window的机制,先将数据缓存在Window State中,当窗口触发计算时,执行join操作;interval joi

2021-08-05 21:50:02 5226

原创 Flink高级特性之BroadcastState广播状态

1- 简介在开发过程中,如果遇到需要下发/广播配置、规则等低吞吐事件流到下游所有 task 时,就可以使用 Broadcast State。Broadcast State 是 Flink 1.5 引入的特性。下游的 task 接收这些配置、规则并保存为 BroadcastState, 将这些配置应用到另一个数据流的计算中 。场景例子:1)动态更新计算规则: 如事件流需要根据最新的规则进行计算,则可将**规则(数据量较少的)**作为广播状态广播到下游Task中。2)实时增加额外字段: 如事件流需要

2021-08-05 12:46:23 1211

原创 Flink Connectors之消费Kafka数据相关参数以及API说明

1-参数设置以下参数都必须/建议设置上1.订阅的主题2.反序列化规则3.消费者属性-集群地址4.消费者属性-消费者组id(如果不设置,会有默认的,但是默认的不方便管理)5.消费者属性-offset重置规则,如earliest/latest…6.动态分区检测(当kafka的分区数变化/增加时,Flink能够检测到!)7.Checkpoint会把offset随着做Checkpoint的时候提交到Checkpoint和默认主题中2- 参数说明注意:实际的生产环境中可能有这样一些需求

2021-08-04 12:36:54 3286 1

转载 Apache Flink 1.13.0 正式发布,流处理应用更加简单高效!

简介:2020-5-20 阿里巴巴官网发布Flink 1.13.0 版本,可以让流处理应用的使用像普通应用一样简单和自然,并且让用户可以更好地理解流作业的性能。重要特性被动扩缩容Flink 项目的一个初始目标,就是希望流处理应用可以像普通应用一样简单和自然,被动扩缩容是 Flink 针对这一目标上的最新进展。当考虑资源管理和部分的时候,Flink 有两种可能的模式。用户可以将 Flink 应用部署到 k8s、yarn 等资源管理系统之上,并且由 Flink 主动的来管理资源并按需分配和释放.

2021-06-11 15:09:24 437 3

转载 关于Flink实现TopN的思路(Java代码)

TopN 是统计报表和大屏非常常见的功能,主要用来实时计算排行榜。流式的TopN可以使业务方在内存中按照某个统计指标(如出现次数)计算排名并快速出发出更新后的排行榜。我们以统计词频为例展示一下如何快速开发一个计算TopN的flink程序。flink支持各种各样的流数据接口作为数据的数据源,本次demo我们采用内置的socketTextStream作为数据数据源。StreamExecutionEnvironment env = StreamExecutionEnvironment.getE.

2021-03-20 09:59:59 1779 2

原创 关于Flink的批处理和流处理的 Table & SQL API详解

1- Table API & SQL之入门案例以案例形式,讲解Table API和SQL 基本使用,分别针对批处理和流计算使用Table API和SQL分析数据。首先看一下Flink Table API和SQL使用,构建应用步骤。第一步、添加依赖第2步、具体提供API​ 目前新版本(当前使用版本Flink 1.10)Flink的Table和SQL的API还不够稳定,依然在不断完善中,所以课程中的案例还是以老版本文档的API来演示。1)、获取环境批处理Batch:Exec

2021-03-11 10:52:02 2407 2

原创 Flink中关于 Table 和 SQL API详解

1- Table API & SQL之概述及发展史在Flink 流式计算引擎中,提供Flink Table API & SQL模块,类似SparkSQL模块,提供高层次API,以便用户使用,开发程序更加简单。官网为什么需要Table API & SQL???Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言。Table API & SQL的特点:Table API&

2021-03-11 10:13:01 305

原创 关于Flink最底层Processing的API详解

简介: 在常规的业务开发中,SQL、Table API、DataStream API比较常用,处于Low-level的Porcession相对用得较少,通过实战来熟悉处理函数(Process Function)。官方针对最底层API,提供方法:process方法,其中需要实现ProcessFunction函数/** * @author liu a fu * @version 1.0 * @date 2021/3/10 0010 * @DESC 基于Flink提供ProcessFunctio

2021-03-11 10:00:11 315

原创 Flink中 End-to-End Exactly-Once数据一致性语义详解

1- 数据处理语义对于批处理,fault-tolerant(容错性)很容易做,失败只需要replay,就可以完美做到容错。对于流处理,数据流本身是动态,没有所谓的开始或结束,虽然可以replay buffer的部分数据,但fault-tolerant做起来会复杂的多。流处理引擎通常为应用程序提供了三种数据处理语义:1)、最多一次:At-most-once:数据可能丢失,没有进行处理2)、至少一次:At-least-once,数据可能被处理多次3)、精确一次:Exactly-once,

2021-03-09 20:14:39 699

原创 Flink中关于Save point的详解

1- Savepoint概述Flink流式计算,提供Checkpoint机制,程序自动将State进行快速Snapshot,然后进行Checkpoint保存。此外,还支持用户可以手动进行Snapshot,保存State数据,称为:SavePoint保存点。Savepoint:保存点,类似于以前玩游戏的时候,遇到难关/遇到boss,赶紧手动存个档,然后接着玩,如果失败了,赶紧从上次的存档中恢复,然后接着玩。Checkpoint 与Savepoint区别:2- Savepoint演示案例演

2021-03-09 19:59:09 1749

原创 关于Flink的checkpoint的案例演示

编写Flink入门案例程序,词频统计WordCount,自定义数据源,产生数据:spark flink,设置Checkpoint,运行程序,查看Checkpoint检查点数据存储。代码:// TODO: ================= 建议必须设置 ===================// a. 设置Checkpoint-State的状态后端为FsStateBackend,本地测试时使用本地路径,集群测试时使用传入的HDFS的路径if (args.length < 1) { env.

2021-03-09 19:41:47 1233

原创 Flink Checkpoint之StateBackend 状态后端详解

简介: Checkpoint其实就是Flink中某一时刻,所有的Operator的全局快照,那么快照应该要有一个地方进行存储,而这个存储的地方叫做状态后端(StateBackend)。官网解释1)、MemStateBackend2)、FsStateBackend3)、RocksDBStateBackend总述,Flink StateBackend状态后端实现类:...

2021-03-09 16:33:00 880

原创 Flink的四大基石之---Checkpoint详解

1- 容错机制Checkpoint检查点理解首先状态State与检查点Checkpoint之间关系:Checkpoint将某个时刻应用状态State进行快照Snapshot保存。1)、State:维护/存储的是某一个Operator的运行的状态/历史值,是维护在内存中。2)、Checkpoint:某一时刻,Flink中所有的Operator的当前State的全局快照,一般存在磁盘上。Flink中的Checkpoint底层使用了Chandy-Lamport algorithm分布式快照算法

2021-03-09 16:13:02 2850

原创 Flink State中关于Keyed State 以及 Operator State 案例详解

1- Keyed State案例以WordCount 的 sum 所使用的StreamGroupedReduce类为例,讲解了如何在代码中使用需求:使用KeyState中的ValueState获取数据中的最大值(实际中直接使用maxBy即可)用户自己管理KeyedState,存储Key的状态值,步骤如下://-1.定义一个状态用来存放最大值private transient ValueState<Long> maxValueState;//-2.创建一个状态描述符对象Value

2021-03-09 15:53:41 899

原创 Flink的四大基石之---Flink State状态计算详解

1- 什么是Flink State状态计算简介: Flink之所以能这么流行,离不开它最重要的四个基石:Checkpoint、State、Time、Window。1)、窗口Window和时间Time(事件时间)2)、状态State和检查点Checkpoint状态计算:流式计算中,从数据源,到数据转换,最后数据终端,都会对State状态进行关联。无状态计算:有状态(State)计算:2- Flink State 状态组织形式划分官网文档:https://ci.apache.org/

2021-03-09 14:41:43 844

原创 Flink Streaming File Sink使用 以及 关于并行度的解释

StreamingFileSink是Flink1.7中推出的新特性,可以用来将分区文件写入到支持 Flink FileSystem 接口的文件系统中,支持Exactly-Once语义。文档:https://ci.apache.org/projects/flink/flink-docs-release-1.10/dev/connectors/streamfile_sink.html1.初始化流计算运行环境 2.设置Checkpoint(10s)周期性启动3.指定并行度为14.接入sock.

2021-03-09 10:39:58 1442

原创 Flink Time中Allowed Lateness 功能详解

1- allowedLateness的应用场景简介: 延迟数据是指:在当前窗口【假设窗口范围为10-15】已经计算之后,又来了一个属于该窗口的数据【假设事件时间为13】,这时候仍会触发window操作,这种数据就称为延迟数据。针对基于事件时间EventTime窗口分析,如何解决乱序数据和延迟数据的呢???某个窗口已经被触发计算,但是不会立即销毁,等待Time(允许数据迟到的时间),如果此时间内有延迟数据到达,进行计算。`设置允许延迟数据处理方法:`- 设置允许延迟的时间是通过`all

2021-03-09 10:32:43 2645

原创 关于Flink Time中的Watermaker案例的详解

需求:自定义数据源,产出交易订单数据,设置基于事件时间窗口统计。1)、交易订单数据import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;/** * @author liu a fu * @version 1.0 * @date 2021/3/9 0009 * @DESC TODO: 自定义数据源,产出交易订单数据,设置基于事件时间窗口统计。 */@Data@N

2021-03-09 09:47:52 350

原创 Flink Time中Watermaker 水位线机制详解

1. Flink Time中水位线的引入简介: 针对前面讲解基于事件时间EventTime窗口分析,默认情况下,如果某个窗口触发计算以后,再来一条窗口内的数据,此时不会计算这条数据,而是直接丢弃。在实际业务数据中,数据乱序到达流处理程序,属于正常现象,原因在于网络延迟到导致数据延迟,无法避免的,所以应该可以允许数据延迟达到(在某个时间范围内),继续计算。比如允许数据最大乱序延迟时间为2秒,那么此时只要符合时间范围乱序时间都会处理,此种机制:Watermark水位线。什么是watermaker机制:

2021-03-08 22:21:03 725 1

原创 Flink Time中事件时间案例详解

需求:基于事件时间EventTime Tumbling Window窗口【5秒】,进行聚合统计:WordCount。`准备数据`1000,a,12000,a,15000,a,19999,a,111000,a,214000,b,114999,b,1如果使用基于事件时间EventTime窗口统计,需要如下三个步骤:import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.ap.

2021-03-08 22:10:11 661

原创 Flink的四大基石之---Flink Time 时间 以及 时间分类详解

1. Flink Time时间的分类简介: 在Flink流计算中,关于时间语义支持三种,其中2种语义最为关键:1)、处理时间ProcessingTime,使用处理时间SparkStreaming时,窗口计算,使用的就是处理时间2)、事件时间EventTime,最为合理StructuredStreaming中,窗口计算,使用的是事件时间在Flink的流式处理中,会涉及到时间的不同概念,如下图所示:1)、事件时间EventTime事件真真正正发生产生的时间,比如订单数据中订单

2021-03-08 21:38:05 491

原创 Flink Window中的window 和 apply()方法详解

简介: 前面讲解的3中Window窗口案例中,尤其是时间窗口TimeWindow中,没有看见Window大小(起始时间,结束时间),使用apply函数,就可以获取窗口大小。import org.apache.commons.lang3.time.FastDateFormat;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.tuple.Tuple;import org.

2021-03-08 21:22:43 5783

原创 Flink Window中时间会话窗口详解(了解)

Flink流计算中支持:会话窗口Session,但是基于时间的,需要设置超时时间间隔需求:设置会话超时时间为5s,5s内没有数据到来,则触发上个窗口的计算import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.tuple.Tuple1;import org.apache.flink.streaming.api.datastream.DataStreamSource;im.

2021-03-08 21:08:34 814

原创 Flink Window中关于计数窗口的详解

1- 关于计数窗口的解释2.滚动计数窗口的案例详解需求:统计在最近5条消息中,数字之和sum值import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.tuple.Tuple1;import org.apache.flink.streaming.api.datastream.DataStreamSource;import org.apache.flink.streami

2021-03-08 21:02:46 878

原创 Flink中关于Window API 演示以及时间窗口详解

1. Flink中窗口的API分类在Flink流计算中,提供Window窗口API分为两种1)、针对KeyedStream窗口API:window第一步、数据流DataStream调用keyBy函数分组,获取KeyedStream第二步、KeyedStream.window设置窗口第三步、聚合操作,对窗口中数据进行聚合统计函数:reduce、fold、aggregate函数apply() 函数也就是调用了keyBy算子的,使用window// TODO: KeyedStre

2021-03-08 20:47:59 281

转载 SparkSQL底层具体实现的3种方式详解

引言join是SQL中的常用操作,良好的表结构能够将数据分散到不同的表中,使其符合某种规范(mysql三大范式),可以最大程度的减少数据冗余,更新容错等,而建立表和表之间关系的最佳方式就是join操作。对于Spark来说有3种Join的实现,每种Join对应的不同的应用场景(SparkSQL自动决策使用哪种实现范式):  1.Broadcast Hash Join:适合一张很小的表和一张大表进行Join;  2.Shuffle Hash Join:适合一张小表(比上一个大一点)和一张大表进行

2021-03-08 08:23:49 450

原创 Flink的四大基石之---Flink Window窗口分类详解

前言: Flink之所以能这么流行,离不开它最重要的四个基石:Checkpoint、State、Time、Window。Window窗口官网详解Time时间事件官网详解state状态官网详解checkpoint检查点官网详解1.窗口Window概述在Flink流式计算中,最重要以转换就是窗口转换Window。在上述的DataStream转换图中,可以发现处处都可以对DataStream进行窗口计算。在实际项目,Flink流计算,如果对DataStream流进行窗口计算时,通常使用

2021-03-07 20:38:29 622

原创 Flink On Yarn开发程序部署的两种方式详解

1- 首先编写一个参数传递的Flink的WordCount代码import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.api.java.utils.ParameterTool;imp

2021-03-03 21:33:16 379 1

原创 Flink on Yarn两种运行模式详解

简介: 在一个企业中,为了最大化的利用集群资源,一般都会在一个集群中同时运行多种类型的Workload,因此 Flink 也支持在 Yarn 集群运行。1.为什么使用Flink On Yarn?1)、Yarn的资源可以按需使用,提高集群的资源利用率2)、Yarn的任务有优先级,根据优先级运行作业3)、基于Yarn调度系统,能够自动化地处理各个角色的 Failover(容错)当应用程序(MR、Spark、Flink)运行在YARN集群上时,可以实现容灾恢复。当Flink on YARN 运行时

2021-03-03 20:50:28 2008 2

原创 基于Flink的批流处理API编程实现wordcount案例

1: 基于DataSet 批处理的API编程(最新版本Flink 1.12.0已经淘汰)import org.apache.flink.api.common.functions.FlatMapFunction;import org.apache.flink.api.common.functions.MapFunction;import org.apache.flink.api.java.ExecutionEnvironment;import org.apache.flink.api.java.ope

2021-03-03 20:13:31 222 1

原创 Flink的前世今生的概述

1.Flink 概述Apache Flink 官网:https://flink.apache.org/注意: 在Flink 1.12.0 中淘汰了 DatasetAPI 统一使用了 DataStreamAPI2. 实时既未来为什么说流处理即未来? https://news.qudong.com/article/562521.shtml3.Flink的背景Flink 诞生于欧洲的一个大数据研究项目 StratoSphere。该项目是柏林工业大学的一个研究性项目。早期,Flink 是做

2021-03-03 10:13:32 3217 10

转载 关于Spark中数据倾斜的几种好的解决方案

前言本文是介绍的是开发spark极其核心的地方,可以说懂得解决spark数据倾斜是区分一个spark工程师是否足够专业的标准,在面试中以及实际开发中,几乎天天面临的都是这个问题。原理以及现象先来解释一下,出现什么现象的时候我们认定他为数据倾斜,以及他数据倾斜发生的原理是什么?比如一个spark任务中,绝多数task任务运行速度很快,但是就是有那么几个task任务运行极其缓慢,慢慢的可能就接着报内存溢出的问题了,那么这个时候我们就可以认定他是数据倾斜了。接下来说一下发生数据倾斜的底层理论,

2021-02-28 13:19:21 310

原创 ClickHouse的相关SQL函数和数据类型

简介: 在ClickHouse数据库中支持一些函数:[重点]官网文档:https://clickhouse.tech/docs/zh/sql-reference/functions/1-相关SQL 函数:1)、类型检测函数:`toTypeNameSELECT toTypeName(toDate('2019-12-12 ')) AS dateType, toTypeName(toDateTime('2019-1 2-12 12:12:12')) AS dateTimeType

2021-02-26 21:25:48 725

原创 ClickHouse的相关引擎详解

简介:ClickHouse之所以可以OLAP分析,查询检索数据很快,最重要的原因在于:存储引擎。

2021-02-26 21:11:22 681

原创 很火的DBMS数据库ClickHouse的基本SQL语法

1-常用 SQL 命令:创建表(create)的基本语法:- 1)、表的类型分为两种:临时表temporary和持久化表- 2)、创建表示,建议写上数据库名称- 3)、如果使用CK集群,创建表时,在表的名称后面加上:`ON CLUSTER clusterId`- 4)、每个数据表创建时,需要指定存储引擎,非常关键属性,决定业务查询性能`engine = EngineName(parameters);`create [temporary] table [if not exists] dbN

2021-02-26 19:58:57 1626

空空如也

空空如也

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

TA关注的人

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