首页 > 数据库 >Flink同步mysql到iceberg

Flink同步mysql到iceberg

时间:2024-05-14 10:42:13浏览次数:27  
标签:committer Flink iceberg flink 全量 mysql

一、如何做一致性保障

1、全量数据分片读取,增量数据单并发读取,保证增量阶段不会乱序
2、全量阶段写入失败会清空表后重新写入,避免重复数据。
3、全量阶段多task并行读取,把每个task开始结束时间提交给Flink Coordinator,由Coordinator做时间合并后,仅读取一次全量同步区间内变化的binlog数据,然后更新目标表。最后一个窗口较大时,可以将数据写入state,保证内存占用不会过大。
4、依托Flink 一致性快照算法。  mysql->iceberg在flink分多阶段处理,mysql -> flink source -> flink writer -> flink committer,iceberg只有在committer后才可读,flink快照会保留各个阶段状态和数据,如处理数据过程中出现异常后可从最近快照恢复继续同步。
5、依托flink两阶段提交。 在同步阶段写数据文件时,写入文件对外不可读,只有committer后才对外可读。 flink把读写文件和committer分开成两个请求,保证脏数据不对外服务。

 

标签:committer,Flink,iceberg,flink,全量,mysql
From: https://www.cnblogs.com/robots2/p/18190814

相关文章

  • Java开发微服务SpringCloudAlibaba+Nginx+Vue+Mysql+RabbitMQ
    项目介绍随着互联网技术的飞速发展和移动设备的普及,自媒体平台已经成为人们获取信息、传播观点、实现自我价值的重要途径。自媒体平台的设计与实现,不仅需要考虑如何提供便捷的内容发布、编辑和管理功能,还需要考虑如何构建健康的内容生态,保证信息的真实性和可靠性,防止虚假信息的传......
  • mysql存储过程
    1.介绍  存储过程是事先经过编译并存储在数据库中的一段SQL语句的集合,调用存储过程可以简化应用开发人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。  存储过程思想上很简单,就是数据库SQL语言层面的代码封装与重用。特点:......
  • 连接mysql异常
    问题描述C#连接MySql时,System.Security.Authentication.AuthenticationException:调用SSPI失败,请参见内部异常。所用版本4.5.0原因分析:据查此问题因mysql数据库没有安装ssl证书导致。解决方案:连接字符串中加上“SslMode=none”,。stringconnectStr="server=127.0.0.1;U......
  • MySQL 中 FIELD() 自定义排序
    在MySQL中,你可以使用ORDERBYFIELD()来自定义排序顺序。这个函数允许你指定字段的自定义排序顺序,而不是默认的升序或降序排序。以下是一个简单的例子:假设你有一个表格叫做products,其中有一个字段叫做category,你想按照特定的类别顺序进行排序,比如'Electronics','Clothing......
  • mysql.connector.errors.NotSupportedError: Authentication plugin 'caching_sha2_pa
    今天将程序部署到服务器,遇到mysql.connector.errors.NotSupportedError:Authenticationplugin'caching_sha2_password'isnotsupported问题产生的原因:从MySQL8.0开始,默认的用户认证插件从mysql_native_password变成了caching_sha2_password查看现有的用户mysql>se......
  • flink sql
    【案例1】Flink01_Table_BaseUsepublicclassFlink01_Table_BaseUse{publicstaticvoidmain(String[]args)throwsException{StreamExecutionEnvironmentenv=StreamExecutionEnvironment.getExecutionEnvironment();env.setParallelism(1);......
  • 运维必备Linux学习day2(mysql,jdk,redis,docker安装)
    一.MySQL安装①Linux环境:1.虚拟机Centos7.6版本安装,2.准备类似版本 mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar包1.新建文件夹/opt/mysql,并cd进去,首先:mkdir/opt/mysql2.运行 wgethttp://dev.mysql.com/get/mysql-5.7.26-1.el7.x86_64.rpm-bundle.tar,下载mysql安装包......
  • MySQL ROW_NUMBER 函数
    MySQLROW_NUMBER()语法MySQL ROW_NUMBER()从8.0版开始引入了功能。这ROW_NUMBER()是一个窗口函数或分析函数,它为从1开始应用的每一行分配一个序号。请注意,如果你使用MySQL版本低于8.0,你可以效仿的一些功能ROW_NUMBER()函数使用各种技术。以下显示了ROW_NUMBER()函数的语法:......
  • MySQL数据高阶处理技巧:掌握先排序后分组的智慧
    在MySQL数据库的数据探索旅程中,排序和分组是不可或缺的工具。然而,当你面对大量数据、重复值等情况时,常规的处理方法可能显得不够灵活。本文将为你揭示一个精妙的技巧:如何在MySQL中先排序,后分组,从而获取每个类型的最新数据,助你轻松驾驭复杂的数据处理任务。 问题背景:先排序,后分......
  • Docker 部署 Mysql8.1
    #不挂载,直接创建容器[root@VM-24-9-centos~]#dockerrun-d-p3306:3306--namemysql-eMYSQL_ROOT_PASSWORD='123456'mysql获取镜像#拉取镜像[root@VM-24-9-centos~]#dockerpullmysql:8.1创建挂载目录和配置文件#创建挂载目录[root@VM-0-17-centos~]#mkd......