FFA2023平台建设专场资料汇总_第1页
FFA2023平台建设专场资料汇总_第2页
FFA2023平台建设专场资料汇总_第3页
FFA2023平台建设专场资料汇总_第4页
FFA2023平台建设专场资料汇总_第5页
已阅读5页,还剩340页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

•100+核心能力•10+Flink生态项目•100+核心能力•10+Flink生态项目••••••••••••••••••••••••••30+FlinkCommitters搜索推荐数据中台流批一体数仓任务规模搜索推荐数据中台流批一体数仓任务规模计算资源在线机器学习计算能力峰值69亿记录/秒 业务实时化变革的根本基础数据处理连续性尽可能让业务长时业务实时化变革的根本基础数据处理连续性尽可能让业务长时间实时在线,将实时数据处理带入更广阔空间将离线数据处理和实时数据处理有机数据无障碍流动打破数据孤岛,上下游全面实时化,化简流动中的架构考虑和业务变化处理了解数据含义与相互之间的关系,了解业务处理进度,获得洞察技术民主化让每个人都可以参与实技术民主化让每个人都可以参与实时数据分析与处理 率/nexmark/nexmark•Kafka•Starrocks•ApachePaimon•IapacheIceberg•支持通过Catalog来实现元数据的自动发现和管理,•配合CTAS语法,实现数据的同步和表结构变更自动同步。•支持读取数据变更和表结构变更并同步到下游,数据和表结构变更都可以保证顺序。ASTABLEmysql.`user_db[0-9]+`.`user[0-9]+`;ee.0业0 无断流降低开销阿里云Flink基于单点重启机制的快速恢复能力:32代码开发完全一套代码,核心作业配置132代码开发完全一套代码,核心作业配置13作业调度4作业运行视化编辑器完善的错误提示03支持SQL数据探理和文件夹组织支持Catalog管理表信息版,快速上手项分析),(作业吞吐低,延迟高过低配置资源利用率低)(启动速度慢(作业吞吐低,延迟高过低配置资源利用率低)(启动速度慢过高配置进行scaledownscaleup内存的调优策略主要是根据作业内存实际利用率,以及GC的metric来动态调整tm的内存•09:00~19:00是业务高峰,期间使用30并发度。•19:00到次日09:00是业务低谷,期间使用10并发度。状态兼容性检查基于状态迁移的兼容性提升状态集列表的展示与监控作业启动的状态恢复、开源Flink迁移上云的状态复用,作业间的状态复用、本地状态的快速恢复(未来)状态中间数据查询与修改、基于状态的作业分析状态定时或手动生成与清理ACBDACBD作业告警-Flink控制台作业的数据曲线大盘BatchBatchStreamStream88Databaseprestopresto88left_streamright_streamleft_streamright_streamstateOperatorstateLogicalPlanPhysicalPlanExecPlanTransformationleft_streamright_streamleft_streamright_streamstateOperatorstateLogicalPlanPhysicalPlanExecPlanTransformation右流有长周期state保存需求(18d)loadloadSource(1/3)->Calc(1/3)->DimJoin(1/3)Source(2/3)->Calc(2/3)->DimJoin(2/3)Source(3/3)->Calc(3/3)->DimJoin(3/3)CacheCache(1/3)CacheCache(2/3)CacheCache(3/3)TableCache(1/3)TableCache(1/3)TableSource(1/3)->Calc(1/3)Source(2/3)->Calc(2/3)Source(3/3)->Calc(3/3)111144222333CacheCache(2/3) Cache(3/3)TableTableSource(1/3)->Calc(1/3)Source(2/3)->Calc(2/3)Source(3/3)->Calc(3/3)数据热点111111142223CacheCache(1/3)CacheCache(2/3)CacheCache(3/3)Source(1/3)->Calc(1/3)Source(2/3)->Calc(2/3)Source(3/3)->Calc(3/3)111412321112CacheCache(1/3)CacheCache(2/3)CacheCache(3/3)TableAABB+I[a0,a1,b0,b1]-U[a0,a1,b0,b1]-U[b0,b1]+I[a0,a1,null,null]-D[a0,a1,null,null]+I[a0,a1,null,null]-D[a0,a1,null,null]table.exec.stream.join.mini-batch-enabledtable.exec.mini-batch.allow-latencytable.exec.stream.join.mini-batch-enabledtable.exec.mini-batch.allow-latencyAABB-U[b0,b1]-U[b0,b1]消息折叠-U[b0,b1]+I[a0,a1,b0,b1]-U[a0,a1,b0,b1]CACBACACBABSink(table=[default_catalog.default_database.report],fields=[EXPR$0,+-TableSourceScan(table=[[default_catalog,default_database,advice[1]:[ADVICE]Theexpression`CONCAT(_UTF-16LE'2023_WINTER:',voucher_code)`computedoninputupsertkey`voucher_code`lostuniqueness.Pleaserefertothedocumentationformoredetails. 构建流批一体开发运行范式和用户体验统一数据流批场景存储构建流式湖仓数据治理体系AI辅助FlinkSQL开发基于大语言模型提升智能诊断构建流批一体开发运行范式和用户体验统一数据流批场景存储构建流式湖仓数据治理体系AI辅助FlinkSQL开发基于大语言模型提升智能诊断探索实时情感分析、舆情研判等场景王柳焮|阿里云智能集团瓴羊技术专家 ……………数仓建模金融风控特征计算湖仓一体数仓建模金融风控特征计算湖仓一体实时任务数流批一体任务数实时任务数流批一体任务数流批一体流批一体ApacheFlinkYarn全托管ApacheFlinkYarn全托管私有云…………CatalogCatalog……PhysicaltablePhysicaltableAliyunAliyunFlinkKubernetesKubernetes公共云公共云管采管采用……新增列修改列类型重命名列121212varchar删除表新增表重命名表12新增列修改列类型重命名列121212varchar删除表新增表重命名表1212 删除列删除列12清空表清空表正常处理:Flink会将此DDL消息将会继续下发给目标数据源,由目标数据源来识别处理•支持写入目标库已有表或自动建表。•支持配置表名转换规则以及目标表名前后缀。•通过完成、告警、失败等不同的映射状态,可关注并处理每一张来源表到目标表到映射状态。•自动在目标表添加变更记录的描述字段,包括变更发生时间、操作类型等,以便业务识别与使用。•支持手动添加全局字段。StreamconnectorBatchconnectorComputeSourceCatalogStreamconnectorBatchconnectorComputeSourceCatalog>离线物理表是否可以直接引用,并与实时PhysicaltablePhysicaltable CatalogDataSource……pay_amttotal_feestat_date…………pay_amttotal_feestat_date……Sourcestream_metastatstat_datetotaltotal_fee………………•打通Stream&Batch一体,开发人员只需维护同一套代码•打通Stream&Batch一体,开发人员只需维护同一套代码,即可同时处理流计算与•解决业务口径不对齐带来的数据质量风险,省去繁杂的需求和接口对焦等人力&时间成本存储业务层面业务层面•开发人员在Flink流和批任务两个作业间来回切换,开发体验割裂,容易出现变更遗漏•数据一致性和质量难以保障•流批存储系统隔离(面向不同写入场景),提供的数据服务不一致,维护成本高Flink-1.15Flink-1.14Flink-1.13……AliyunFlinkFlink-1.15Flink-1.14Flink-1.13……AliyunFlinkVvr-8.0.1-flink-1.17 Vvr-6.0.7-flink-1.15 ……Vvr-4.0.18-flink-1.13全托管全托管KubernetesKubernetestaskmanager、jobfailove文件存储 …………计算任务只负责导入明细数据到视图中,聚合逻辑全部放在服务任务中实时事件表实时事件表Hbase表针对热点数据的特征加工,基础特征的明细方案无法满足大数分维度/mi//分维度天流批事件表Hbase表Hbase表实时事件表可支撑数据量可支撑数据量特征开发的灵活性特征快上的能力运维成本计算/资源成本预计算方案大中快大中全计算方案大大中大大出。每5s触发过去24小时的滑动窗口计算任一卖家累计销售金额。通过回拉3天点位进行高性能测试。出。每5s触发过去24小时的滑动窗口计算任一卖家累计销售金额。通过回拉3天点位进行高性能测试。•自定义状态算子相较于官方窗口•更快的数据回追能力•更优的作业稳定性•更好的checkpoint成功率3天数据回追时长……T-1T-1TTT………T-1T-1TTT…数据源…………数据同步湖仓体系数据应用AdAd-hoc资产中心(统一元数据)资产中心(统一元数据)跨源支持数据在湖与仓之间流通,可以轻松汇集和保存海量业务数据基于Flink与DataX架构的数据流通体系再方便的入湖工具,历史数据都有迁移成本!增量数据入湖,历史数据不迁移,提供统一引擎服务智能识别分区湖仓一体场景深化落地全链路SQL调试智能诊断湖仓一体场景深化落地全链路SQL调试智能诊断全域元数据中心前往官网了解更多前往官网了解更多ApacheFlinkContributor 能不能帮我导一份一样的到测试环境?很简单的!我要提这个数,做个统计,帮我写一个作业数据迁移实时风控会话串联分析数据按维度做聚合动态复杂规则ETL数据探索专用领域内特殊优化的流数据迁移实时风控会话串联分析数据按维度做聚合动态复杂规则ETL数据探索专用领域内特殊优化的流此处的“专业”与“非专业”,实际上指的是一个平台用户在遇到数据需求时,是否需要关注和学习Flink开发知识。“能跑的就行。”“你帮我看一下。”然后导到那个地方”…………始终保持主要业务运行在新的正式版本上……JobTemplateparserTransformnEngine(Fink)DAGAssembler JobTemplateJobTemplateparser Engine(Fink)DAG Engine(Fink)DAGAssembler JobTemplateparser Engine(Fink)DAGAssembler flink-connectorflink-connector-elasticsearch7flink-connector-elasticsearch8.asJsonString()转化为JSON字符串.asMap()2.asJsonString()转化为JSON字符串.asMap()2转化为Map<String,Object>对象436.getMetadata()获取数据所携带的元数据信息.getTimestamp()11.toRow().isFinalEvent()是否为数据流中的最后一笔转化为Flink.toRow().isFinalEvent()是否为数据流中的最后一笔支持联动到FlinkSQL55获取业务时间大部分的成熟业务的Flink作业,其实都是配置+半固定拓扑而descriptor+全灵活拓扑则可以支撑专业使用,并为非专业使用做好基底但在专业用户角度上,处理大量非结构化、异构数据时,用SQL往往难以表达。从ES集群A读数据过滤出测试环境从ES集群A读数据从ES集群A读数据过滤出测试环境从ES集群A读数据过滤出正式环境从从ES集群B读数据过滤出测试环境从从ES集群A读数据输出到日志观察容易实现向导式作业构造2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上让每一个实时作业都基于相同的配置语义人力/代码让每一个实时作业都基于相同的配置语义人力/代码相同语义地理解计算任务0SDK通⽤UDF数SDK通⽤连接器数0-作业数2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上2018上2018下2019上2019下2020上2020下2021上2021下2022上2022下2023上86420))0-作业数K8sBenthosBootstrapKubernetesZooKeeperKubernetesZooKeeperJarRepositoryBusiness JarsJFlink-SDKBootstrapBootstrapNamespaces借由K8S进行资源调配借由K8S进行资源调配基于Prometheus的标准采集每个作业独立命名空间借助K8S标签划分机器通过伴生Filebeat采集同步官方Flink镜像发版 “都有什么数据”……权限异构数据源的客户端差异迟滞的结构变化信息口口相传才能知道从何处提取数据,经验局限……dynamicrule……dynamicrule……cataliasesregisterschemaschema元数据自动发现Flink流loc:myhost:myport/dw/dwm_login_return_payschema:… 可自动生成 翻译为Flinkoperatortype:ElasticSearchloc:myhost:myport/jflink-alias/jflink-operator-schema:… 可自动生成 翻译为FlinkoperatorwebsocketwebsocketFlinkTail流websocketwebsocketFlinkTail流字段建模可用于生成Flink流中流转对象的Schema,按IO和处理逻辑过滤出参考典范可视化编排此典范,调整并派生为自己想要的新作业支持高频度反复调试支持高频度反复调试----------------->----------------->追加一个追加一个LocalSink捕获输出并回显调度本地启动jarAliothAliothWebAliothT-SERVER(backend)StateMachineAutomatorWatchDogBootstrapManagerAliothAliothWebAliothT-SERVER(backend)StateMachineAutomatorWatchDogBootstrapManagerAliothAliothWebAliothT-SERVER(backend)StateMachineAutomatorWatchDogBootstrapManagerAliothAliothWebAliothT-SERVER(backend)StateMachineAutomatorWatchDogBootstrapManager列出候选资产拆解任务蓝图列出候选资产拆解任务蓝图分配数分人力确认交付方式计算任务1 (Flink)计算任务1 (Flink) 资产发现流计算任务2计算任务2 (Flink)…………作业典范作业典范作业典范-……-……-……012:0015:0018:0021:0024:0003:0006:0009:000__________________________________________________________________________________12:0015:0018:0021:0024:0003:0006:0009:00•修改可缩容算子并行度•修改可缩容算子并行度•用新作业带保存点启动•修改可扩展算子并行度调整作业•用新作业带保存点启动快速重启快速重启调整作业调整作业实现对各资源池适配的统一自适应02100210432100拉起FlinkJAR拉起FlinkJAR----------------->调度提数任务----------------->苛刻的资源条件FaaSFaaS-……-……FaaSFaaS-……借助实时计算的事实标准Flink和它的生态我们在2023年完成了全量互娱计费数据计算业务的Flink化大一统目标实时支付风控实时支付风控用户画像服务全链路监控用户画像Alioth平台自身的全部数据需求TP-AP数据同步……支持可视化编排Tailanything屏蔽差异实时支持可视化编排Tailanything屏蔽差异实时Flink试跑数据探索监控告警异常分析作业托管扩缩容极限缩容需求与资产导向形成数据闭环支持各种资源场景K8S独立Flink集群一站式作业一站式作业生命周期管理平台陈子豪|小米软件研发工程师ApacheFlinkContributor 数据源数据源终端设备服务端(容器/日志/Metric)物联网(工厂/车辆/智能设备)数据库数据采集数据采集终端采集服务端采集物联网采集数据库变更采集数据通道数据通道数据湖(Iceberg)离线计算(Spark)(Talos)资源调度(Yarn)计算引擎数据查询数据查询查询引擎查询加速数据搜索(ElasticSearch)监控大屏失败自动重启失败积压报警异常日志收集监控大屏失败自动重启失败积压报警异常日志收集异常智能分析QueueQueue……Cluster集群管理集群管理标签管理任务管理行为审计平台语法检测在线调试QueueQueueQueue……Cluster多数据源配置繁多多数据源配置繁多调试功能场景有限用户队列资源冗余用户作业资源浪费缺乏故障逃生能力缺乏高优保障机制开发提效运维提效开发提效运维提效资源动态调整优化推荐异常自愈智能化运维统一元数据智能诊断智能运维统一权限数据血缘统一计算资源统一元数据智能诊断智能运维统一权限数据血缘统一计算资源项目管理项目管理资源管理版本管理行为审计平台数据集成数据集成异常感知与自愈异常感知与自愈TalosQTalosQ统一坐标及服务「catalog.database.table」统一table视角,不同引擎视角下均是一张表屏蔽账号密码信息—Flink:简单的流式入湖作业`iceberg_xxxx`.`tmp`.`table_mi``id`,`name`,`age``talos_xxxx`.`default`.`topic_mi`;—Presto:简单的数据查询SELECT*FROM`iceberg_xxxx`.`tmp`.`table_mi`; FlinkSpark IcebergIceberg(project,table)(select,insert)PhysicalPlanPhysicalPlanIcebergTableAPIRangerTalosTableAPIRangerTable链路节点异常,受影响节点会收到报警作业积压数据产出受影响下游受影响节点链路节点异常,受影响节点会收到报警作业积压数据产出受影响下游受影响节点空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业空间作业stream_jobqueue•buffer资源可灵活使用•缺点:资源管理不可控,容易扩容失败空间作业空间作业空间作业空间作业空间作业空间作业空间作业可优化空间作业空间作业空间作业空间作业可优化集团层面推进降本增效降本进入深水区,治理需要新的突破点业务逻辑开发优化流量波动资源浪费资源优化……用户无法快速定位并解决问题高优任务质量要求高字段类型不匹配热点机器依赖组件异常未申请权限业务问题集群问题……智能诊断智能诊断异常感知与自愈链路预警动态资源,弹性伸缩数据驱动技术支撑价值量化治理闭环价值量化智能优化治理指标核心指标稳定性指标Yarn 画像数据特性推广特性推广分级灰度优化建议资源预估难,调优门槛高无法匹配动态流量,资源冗余浪费弹性趋于稳态,推荐调优内存、并发动态调整,按需分配主动式应对负载突增,触发扩容资源预估难,调优门槛高无法匹配动态流量,资源冗余浪费弹性趋于稳态,推荐调优内存、并发动态调整,按需分配主动式应对负载突增,触发扩容负载突增,需人工介入负载突增,需人工介入ResourceManager扩/缩ContainerTaskManagerDynamicSchedulerManager……主动探测指标上报ResourceManager扩/缩ContainerTaskManagerDynamicSchedulerManager……主动探测指标上报申请/释放申请/释放SlotTaskManagerTaskManager判定结果判定结果ContainerContainerX单机资源不足Container ResourceManager ContainerContainerX单机资源不足Container ResourceManager Container扩容切换节点 ContainerContainer主动探测 稳定性问题解决方案周期性触发无法应对负载突增,积压情况压情况短时间内触发多次弹性导致频繁重启,甚至触发失败策略.增加弹性冷冻间隔.攒批编排Container扩/缩容.优化重启策略部分节点单机资源不足解决重复、简单运维问题,提高效率诊断结果指标数据数据存储沉淀了几十种诊断规则线上异常诊断覆盖率达80%数据开发全链路介入解决重复、简单运维问题,提高效率

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论