美团点评基于 Flink 的实时数仓建设实践
作者:美团点评技术团队引言近些年,企业对数据服务实时化服务需求日益增多。本文整理了常见实时数据组件的性能特点和适用场景,介绍了美团如何通过Flink引擎构建实时数据仓库,从而提供高效、稳健的实时数据服务。此前我们美团技术博客发布过一篇文章《流计算框架Flink与Storm的性能对比》,对Flink和
Flink深入浅出:JDBC Source从理论到实战
Flink 1.10之后针对Table API&SQL提供了很多外部连接器,可以使用DDL快速创建外部表,从而可以在Flink中基于SQL直接读取外部数据源。在大数据环境中,有一个很经典的场景是数据交换——即以一定的时间周期把业务库中的数据同步到hive或者hdfs中,下面就先介绍官方的使用方法,再通过源码分析其中的技术细节。
数据仓库介绍与实时数仓案例--阿里
1.数据仓库简介数据仓库是一个面向主题的(SubjectOriented)、集成的(Integrate)、相对稳定的(Non-Volatile)、反映历史变化(TimeVariant)的数据集合,用于支持管理决策。数据仓库是伴随着企业信息化发展起来的,在企业信息化的过程中,随着信息化工具的升级和新工
Flink通过异步IO实现redis维表join
使用flink做实时数仓的公司越来越多了,浪尖这边也是很早就开发了一个flink全sql平台来实现实时数仓的功能。说到实时数仓,两个表的概念大家一定会知道的:事实表和维表。在实时数仓中,事实表就是flink消费的kafka的topic数据流,而维表和离线数仓一样,就是mysql等外部存储的维表。当f
Flink实时计算-深入理解 Checkpoint和Savepoint
为了保证程序的容错恢复以及程序启动时其状态恢复,几乎所有公司的实时任务都会开启 Checkpoint 或者触发 Savepoint 进行状态保存。为了使得用户更加理解这两点区别,本文结合 Flink 1.9 版本,重点讲述 Flink Checkpoint,Savepoint 相关概念以及注意事项,同时也会讲述实时任务启动时读取 Kafka 偏移量问题,使得用户能够更好的开发实时任务。
硬核!16000 字 Redis 面试知识点总结,建议收藏!
今天,我不自量力的面试了某大厂的Java开发岗位,迎面走来一位风尘仆仆的中年男子,手里拿着屏幕还亮着的Mac。他冲着我礼貌的笑了笑,然后说了句“不好意思,让你久等了”,然后示意我坐下,说:“我们开始吧,看了你的简历,觉得你对Redis应该掌握的不错,我们今天就来讨论下Redis……”。我想:“来就来
Flink窗口全解析:三种时间窗口、窗口处理函数使用及案例
我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题。Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理。本文将介绍如何在Flink上进行窗口的计算。一个Flink窗口应用的大致骨架结构如下所示://KeyedW
Flink任务实时获取并更新规则
背景Flink通常被用来处理流式数据,有着众多的应用场景,比方说实时的ETL、检测报警等业务场景。这些场景通常会涉及到规则的更新,比如对解析规则和报警规则进行更改后,流任务应能够实时感知到,并用新的规则继续检测,避免因为规则更改而重启任务造成的开销。一般来说流式任务的重启是比较重的。方案选择接下来分
理解Flink中的流窗口
在这篇文章中,我们讨论了用于流处理的窗口的概念,介绍Flink的内置窗口,并解释它对自定义窗口语义的支持。一、什么是窗口?窗口有什么用?考虑一个交通传感器的例子,它每15秒计算一次通过某个位置的车辆数量。生成的流可能如下所示:如果我们想知道,有多少车辆通过了该位置,可以简单地将单个计数相加。然而,传
Flink(一)-基本概念
前言:前段时间因为项目需求,需要开发一个实时采集分析日志的任务,最后选择的计算框架是Flink。项目完成后,基本上就没再接触。但总觉得既然用过了,不了解,不清楚,日后又需要还得重新看,很亏啊!所以决定抽空总结一下,一方面可以跟大家交流分享一下新的学习内容,共同进步;另一方面也能更深入的了解传说中的下
阅读代码:Spark 与 Flink 中的 RPC 实现
近日常有同学来问我如何阅读代码,关于这个问题的一般性答案我特别提了一个问题并自问自答。出于提供一个实际的例子的考量,正好此前综合地阅读了 Spark 的 RPC 实现、Flink 基于 Akka 的 RPC 实现和 Actor Model 的通信模型,写成本文分享我阅读分布式计算系统 Spark 和 Flink 中的 RPC 实现的过程和思考。
从滴滴的Flink CEP引擎说起
CEP业务场景复杂事件处理(ComplexEventProcess,简称CEP)用来检测无尽数据流中的复杂模式,拥有从不同的数据行中辨识查找模式的能力。模式匹配是复杂事件处理的一个强大援助。例子包括受一系列事件驱动的各种业务流程,例如在安全应用中侦测异常行为;在金融应用中查找价格、交易量和其他行为的
Flink 如何支持特征工程、在线学习、在线预测等 AI 场景?
简介:人工智能应用场景中,Flink在包括特征工程,在线学习,在线预测等方面都有一些独特优势,为了更好的支持人工智能的使用场景,Flink社区以及各个生态都在努力。摘要:人工智能应用场景中,Flink在包括特征工程,在线学习,在线预测等方面都有一些独特优势,为了更好的支持人工智能的使用场景,Flin
Flink零基础学习教程:map、filter和flatMap算子实例详解
本文将对FlinkTransformation中各算子进行详细介绍,并使用大量例子展示具体使用方法。Transformation各算子可以对Flink数据流进行处理和转化,是Flink流处理非常核心的API。如之前文章所述,多个Transformation算子共同组成一个数据流图。Flink的Tra
谈谈流计算中的『Exactly Once』特性
分析了流计算系统中常说的『Exactly Once』特性,主要观点是:『精确一次』并不保证是完全一样。主要内容如下:背景 1.1. 最多一次(At-most-once) 1.2. 至少一次(At-least-once) 1.3. 精确一次(Exactly-once
Redis实现分布式锁
分布式锁的实现方式有很多,本篇文章讲述一下使用Redis实现分布式锁。网上有很多使用Redis实现分布式锁的代码,但是这些代码或多或少都有问题。这篇文章会写一个实现,同时标明一些注意点。场景为了便于阐述,这里假设一个游戏场景,用户A有开山斧一把,价值500元宝,用户B有800元宝,想买A的开山斧,这
如何分析及处理 Flink 反压?
简介:反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中某个节点成为瓶颈,处理速率跟不上上游发送数据的速率,而需要对上游进行限速。反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中某个
如何分析及处理 Flink 反压?
简介:反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中某个节点成为瓶颈,处理速率跟不上上游发送数据的速率,而需要对上游进行限速。反压(backpressure)是实时计算应用开发中,特别是流式计算中,十分常见的问题。反压意味着数据管道中某个
重磅!阿里9000万欧元收购Flink母公司Data Artisans
本文由「AI前线」原创(ID:ai-front),原文链接:重磅!阿里9000万欧元收购Flink母公司DataArtisans作者|MaryLoritz编译|Vincent编辑|DebraAI前线导读:AI前线刚刚获悉,阿里巴巴以9000万欧元的价格接管了总部位于柏林的创业公司DataArtisa
Apache Flink 漫谈系列 - JOIN 算子
聊什么在《ApacheFlink漫谈系列-SQL概览》中我们介绍了JOIN算子的语义和基本的使用方式,介绍过程中大家发现ApacheFlink在语法语义上是遵循ANSI-SQL标准的,那么再深思一下传统数据库为啥需要有JOIN算子呢?在实现原理上面ApacheFlink内部实现和传统数据库有什么区别