自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 Apache Calcite的解析与优化

Apache Calcite的解析与优化文章目录Apache Calcite的解析与优化背景Calcite概述关系代数解析parse: SqlText => SqlNodevalidate: SqlNode => SqlNoderel: SqlNode => RelNode + RexNode基于规则的优化-RBO谓词下推投影下推基于代价的优化-CBO自底向上自顶向下总结参考资料背景数据库从RDBMS到NoSQL,再到NewSQL的发展趋势,足以体现SQL在数据库中的重要地位。SQL

2022-02-14 09:10:27 1995

原创 Flink Checkpoint超时问题

Flink Checkpoint超时问题排查文章目录Flink Checkpoint超时问题排查问题现象问题分析问题1:TaskManager进程挂掉问题2:任务长时间处于CANCELING问题3:Checkpoint超时问题4:数据无法正常同步解决思路总结参考文档问题现象业务部门最近使用Flink来做数据实时同步,通过同步工具把CDC消息接入Kafka,其中上百张表同步到单个topic里,然后通过Flink来消费Kafka,做数据解析、数据分发、然后发送到目标数据库(mysql/oracle),整个

2021-03-09 14:33:42 11489 1

原创 Flink发送Elasticsearch的问题

Flink发送Elasticsearch的问题文章目录Flink发送Elasticsearch的问题场景问题资源配置困难反压和job重启Direct buffer memory OOM总结参考文档场景目前是基于Flink1.11.1来实现日志的处理,中间涉及日志的解析和转发,最终发送到Elasticsearch,Elasticsearch服务端版本为6.3.1,客户端使用flink-connector-elasticsearch6_2.11(Flink提供的es sink connector,依赖的e

2021-03-09 09:08:58 1907 2

翻译 FLIP-70:Flink SQL计算列设计

文章目录FLIP-70:Flink SQL计算列设计状态动机公开接口FLIP-70:Flink SQL计算列设计状态当前状态: 已接受讨论线索: http://apache-flink-mailing-list-archive.1008284.n3.nabble.com/DISCUSS-FLIP-70-Support-Computed-Column-for-Flink-SQL-td331...

2019-12-23 11:22:16 1032

原创 Kafka2.1.1使用snappy压缩的问题

文章目录Kafka2.1.1使用snappy压缩的问题问题现象解决办法Kafka2.1.1使用snappy压缩的问题问题现象服务端安装的kafka版本是2.1.1,当生产者配置了compression.type=snappy时,发送数据会失败,服务端如下抛出异常:[2019-09-19 09:23:20,869] ERROR [ReplicaManager broker=0] Error ...

2019-09-19 14:18:28 2745

翻译 FLIP-27:重构Source接口

文章目录FLIP-27:重构Source接口状态动机总体设计Work发现与读取的分离批流统一例子Reader接口和多线程模型高级Readers每个split事件时间事件时间对齐Enumerator运行在哪儿Option1:Enumerator运行在TaskManager上Option2:Enumerator运行在JobManager上Option3:引入一个叫SourceCoordinator的独...

2019-09-17 20:20:50 2689

原创 Flink Job提交流程(Dispatcher之后)

本篇主要介绍Dispatcher启动之后是如何将job提交并执行起来的,会先分析下Dispatcher这个类的作用,然后着重分析下ExecutionGraph的生成,最后介绍下Dispatcher之后的整个提交流程。

2019-09-10 16:38:36 5049 2

原创 Kafka2.1.1编译

文章目录Kafka2.1.1编译一、下载二、修改build.gradle三、编译Kafka2.1.1编译一、下载1.kafka源码http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.1/kafka-2.1.1-src.tgz2.解压下载的kafka源码,比如在/root/kafka/kafka-2.1.1-src目录下3.下载sca...

2019-09-07 18:31:34 1465 1

原创 Flink Kafka Connector分析

文章目录Flink Kafka Connector分析1 Consumer1.1 FlinkKafkaConsumerBase2 ProducerFlink Kafka Connector分析1 ConsumerFlink kafka consumer connector 是用来消费kafka数据到flink系统的连接器,作为flink系统的一个source存在。目前flink支持的kafk...

2019-08-13 21:03:07 2522 2

原创 __consumer_offset默认创建问题

文章目录__consumer_offsets的作用__consumer_offset的创建问题解决1.代码修复2.扩副本__consumer_offsets的作用__consumer_offsets作为kafka的内部topic,用来保存消费组元数据以及对应提交的offset信息,因此它对于消费者来说扮演着举足轻重的地位。每次消费者消费完一批数据需要标记这批数据被消费掉时,需要将消费的偏移量即...

2019-05-27 19:22:53 4407 3

原创 TableFactory

文章目录例子TableFactory例子以下例子是先创建一个KafkaSource、再创建一个CSVSink,最后将数据从KafkaSource接入到CSVSink。 def testFromKafkaToCSV(): Unit = { val env = StreamExecutionEnvironment.getExecutionEnvironment val tEnv...

2019-05-22 16:41:01 472

原创 Spark-SQL物理执行

文章目录Spark-SQL物理执行优化(Optimizer)一、Push Down1. PushProjectionThroughUnion(Union的Project下推)2. EliminateOuterJoin(消除外连接)3. PushPredicateThroughJoin(Join谓词下推)4. PushDownPredicate(谓词下推)5. ReOrderJoin(重新调整joi...

2019-05-22 11:57:34 1414

原创 Spark-SQL优化

文章目录Spark-SQL优化规则(Rule)分析(Analyzer)一、ResolveRelations(解析数据表)二、ResolveReferences(解析字段或表达式)1.resolveExpression(解析表达式)2.resolveLiteralFunction(解析常量函数)三、ResolveFunctions(解析函数)四、ResolveAggregateFunctions(解...

2019-05-22 11:57:05 1215

原创 状态后端

文章目录SnapshotStategyCheckpointStreamFactorySnapshotStategy快照策略提供snapshot()方法,给不同的snapshot策略去实现,这里要求snapshot结果返回的类型是RunnableFuture类型CheckpointStreamFactory创建检查的输出流,用做持久化检查点的数据最终创建出的流为CheckPointSta...

2019-05-22 11:55:37 821

原创 Flink两阶段提交

文章目录两阶段提交两阶段提交何为EXACTLY_ONCE?EXACTLY_ONCE简称EOS,每条输入消息只会影响最终结果一次,注意这里是影响一次,而非处理一次,Flink一直宣称自己支持EOS,实际上主要是对于Flink应用内部来说的,对于外部系统(端到端)则有比较强的限制1.外部系统写入支持幂等性2.外部系统支持以事务的方式写入什么是两阶段提交?预提交+实际提交flink里将两阶...

2019-05-17 10:22:47 17110 5

转载 Barrier

文章目录BarrierBarrierFlink基于Checkpoint机制实现容错,它的原理是不断地生成分布式Streaming数据流Snapshot。在流处理失败时,通过这些Snapshot可以恢复数据流处理。理解Flink的容错机制,首先需要了解一下Barrier这个概念:Stream Barrier是Flink分布式Snapshotting中的核心元素,它会作为数据流的记录被同等看待,...

2019-05-06 16:18:44 1046

原创 CheckpointCoordinator

文章目录CheckpointCoordinatorCheckpointCoordinator检查点协调器,协调operator和state的分布式快照,触发机制基于定时器的周期性触发。 public void startCheckpointScheduler() { synchronized (lock) { if (shutdown) { throw new Illeg...

2019-05-06 10:39:24 1117

原创 CheckpointedFunction

CheckpointedFunction作为一个接口,CheckpointedFunction提供如下两个方法://获得function或者operator的当前状态(快照)void snapshotState(FunctionSnapshotContext context) throws Exception;//用于从之前的检查点中恢复function或operator的状态void ...

2019-05-05 18:44:00 2412

原创 Flink CheckPoint机制

什么是CheckPoint机制为了保障数据的两种语义(至少一次或仅有一次),以及尽快从最新的位置恢复,避免从头开始计算。CheckPoint机制是在指定时间间隔对流上的状态做一次快照,记录信息如下:1.数据源(例如Kafka)中消息的offset2.所有状态的operator当前的状态信息(例如sum中的数值)什么是State纯流式处理(Flink)对于数据需要源源不断的处理,对Stat...

2019-04-29 14:16:45 537

转载 Blink解决Agg数据倾斜问题

文章目录聚合Group By + AggGroup By+单Distinct AggGroup By+多Distinct Agg聚合聚合操作是SQL中比较常用的语法,形如Group By + Agg,Flink中最常用的Agg操作有COUNT/SUM/AVG等Group By + Agg1.从0点开始,每个类目的成交额2.从0点开始,每个店铺的uv/pv3.从0点开始,每个用户点击了多...

2019-04-22 17:07:09 320

转载 Blink流式TopN

文章目录TopN 语法全局TopN分组TopNTopN 实现与优化嵌套 TopN 解决热点问题总结TopN 是统计报表和大屏非常常见的功能,主要用来实时计算排行榜。流式的 TopN 不同于批处理的 TopN,它的特点是持续的在内存中按照某个统计指标(如出现次数)计算 TopN 排行榜,然后当排行榜发生变化时,发出更新后的排行榜。本文主要讲解 Flink SQL 是如何从语法和实现上设计 TopN...

2019-04-22 14:20:35 782

原创 Spark-SQL绑定

Spark-SQL绑定上一篇文章Spark-SQL解析讲到了Spark-SQL通过Antlr4生成未解析的LogicalPlan。此时的LogicalPlan是Unresolve的,需要通过Catalog来绑定UnresolvedRelation和UnresolvedAttribute,生成解析后的LogicalPlan。元数据(Catalog)在Spark-SQL中,Catalog主要用于...

2018-11-06 14:10:11 561

原创 Spark-SQL解析

Spark-SQL解析如下图所示,Spark-SQL解析总体分为以下几个步骤:解析(Parser)、分析(Analysis)、优化(Optimization)、执行(Physical)、生成RDD(RDDs)。接下来,我们先介绍解析和分析两部分,对于逻辑计划的优化和物理执行计划以及生成RDD后面再专门介绍。

2018-10-30 19:44:04 5382

空空如也

空空如也

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

TA关注的人

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