一、背景

mysql数据入湖后,有同事需要实时抽取iceberg v2表,想通过iceberg做分钟级实时数仓。目前flink社区暂不支持读取v2表。腾讯内部支持

目前只能用Oceanus内置connector,支持flink1.13版本。需要读写时都用iceberg-1.1去处理,因为写入是定制iceberg有对iceberg格式内容做增强,增强后才支持流式读取。

流式读取做加工时,sum函数因iceberg不支持,具体内容看图三

流式写入v2表

CREATE TABLE `iceberg_sink`(
`id` int,
`name` char(50),
`age` int,
`weight` double,
PRIMARY KEY (id) NOT ENFORCED
) WITH (
'connector' = 'iceberg-1.1',
'incremental.sequence.mode'='true',
'format-version' = '2',
'write.upsert.enabled' = 'true'
-- other properties ...
);
insert into iceberg_sink select * from xxx_source;

流式读取v2表

CREATE TABLE `iceberg_source`(
`id` int,
`name` char(50),
`age` int,
`weight` double,
PRIMARY KEY (id) NOT ENFORCED
) WITH (
'connector' = 'iceberg-1.1',
'incremental.sequence.mode'='true',
'format-version' = '2',
'write.upsert.enabled' = 'true'
'connector.iceberg.starting-strategy' = 'TABLE_SCAN_THEN_INCREMENTAL'
-- connector.iceberg.starting-strategy 有 4 个选项:
-- (1) TABLE_SCAN_THEN_INCREMENTAL: 先全量读,再增量读
-- (2) INCREMENTAL_FROM_LATEST_SNAPSHOT: 从最新的 snapshot 开始增量读 (inclusive)
-- (3) INCREMENTAL_FROM_EARLIEST_SNAPSHOT: 从最老的 snapshot 开始增量读 (inclusive)
-- (4) INCREMENTAL_FROM_SNAPSHOT_TIMESTAMP: 从指定时间戳的快照开始增量读(inclusive)。如果时间戳在两个快照之间,则应该从时间戳之后的快照开始。
-- other properties ...
); insert into xxx_sink select * from iceberg_source;

使用iceberg-flink读取iceberg v2表的更多相关文章

  1. INNO SETUP 读取可变注册表路径的问题

    ;INNO 读取可变注册表路径的问题 ;问题:;我想自动为 FireFox 安装上 Real 的 Mozilla 插件~但是它的路径存放在"HKEY_CURRENT_USER\Softwar ...

  2. 如何实现MySQL表数据随机读取?从mysql表中读取随机数据

    文章转自 http://blog.efbase.org/2006/10/16/244/如何实现MySQL表数据随机读取?从mysql表中读取随机数据?以前在群里讨论过这个问题,比较的有意思.mysql ...

  3. 读取hive的表结构,生成带comment的视图建表语句

    ### 读取hive的表结构,生成带comment的视图建表语句 # 读取配置文件中的表并进行遍历 grep -v '^#' tablesFile|while read tableName do st ...

  4. 基于Java使用Flink读取CSV文件,针对批处理,多表联合两种方式Table类和Join方法的实现数据处理,再入CSV文件

    Maven依赖 源头 <dependencies> <dependency> <groupId>org.projectlombok</groupId> ...

  5. 使用C#实现读取/写入Excel表

    C#实现写入Excel表 using System; using System.Reflection; using System.IO; using Microsoft.Office.Interop. ...

  6. C# 读取 Access 数据库表的例子

    using System;using System.Data;using System.Data.OleDb;using System.Collections.Generic;using System ...

  7. 多线程下不反复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们常常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送.发送完毕后再将数据转移到历史表中,这样保证待发送表的数据普通情况下不会太 ...

  8. 利用ADO让普通人用excel读取oracle数据库表的通用办法

    Ref:http://blog.csdn.net/iamlaosong/article/details/8465177 Excel通过ADO方式连接到Oracle并操作Oracle给那些编程能力不强的 ...

  9. 多线程下不重复读取SQL Server 表的数据

    在进行一些如发送短信.邮件的业务时,我们经常会使用一个表来存储待发送的数据,由后台多个线程不断的从表中读取待发送的数据进行发送,发送完成后再将数据转移到历史表中,这样保证待发送表的数据一般情况下不会太 ...

  10. ABAP案例:灵活读取SAP各表的数据

    案例说明     RFC读取表中数据. Import 参数名称 Type spec. 参考打印 FIELDS_NAME1 TYPE CHAR25 TABLE_NAME1 TYPE CHAR25 WHE ...

随机推荐

  1. SQL 语法解释器jsqlparser

    是用java 开发的解析器, 可以生成java类层次结构. 主页地址: http://jsqlparser.sourceforge.net 可以完美解析 表的 增删查改等操作. 展开它的源码你会发现. ...

  2. 基于rsync+sersync的服务器文件同步

    参考:https://github.com/wsgzao/sersync 原理 Synchronize files and folders between servers -using inotiy ...

  3. 浅谈右值引用 移动语义 完美转发 std::move std::forward,窥探模板元编程的一角

    右值引用 移动语义 完美转发具体是什么,就不说了,网上一搜一大堆,主要介绍下std::move和std::forward std::move std::forward 查下源码,gcc版本:gcc v ...

  4. 黑客玩具入门——3、NMAP入门

    1.Nmap基础 Nmap是主机扫描工具,它的图形化界面是Zebmap,分布式框架是Dnmap,Nmap可以完成诸如:主机探测.端口扫描.版本检测.系统监测等.并且支持探测脚本的编写. Nmap在实际 ...

  5. Centos更改SSH端口的方法

    1,vi sshd vi /etc/ssh/sshd_config 2,添加PORT #AddressFamily any #ListenAddress 0.0.0.0 #ListenAddress ...

  6. MeteoInfo-Java解析与绘图教程(二)

    MeteoInfo-Java解析与绘图教程(二) 上节说到了数据的简单解析,这节则说简单绘图 绘图的前置最重要的就是GridData,有了它,基本可以直接绘制出来 例如我们先放弃简单的自定义绘图的操作 ...

  7. 理解 ASP.NET Core: Host

    dotnet core 非常好用,代码也及其精炼,但是,你真的搞懂了每一行代码背后的含义了吗? 本文希望能够深入浅出地梳理一下它的脉络,把它从神秘变成水晶一般透明. 本文关注于分析 Pragram.c ...

  8. 渗透测试-前端加密分析之RSA+AES

    本文是高级前端加解密与验签实战的第8篇文章,本系列文章实验靶场为Yakit里自带的Vulinbox靶场,本文讲述的是绕过RSA与AES加密来爆破登录. 由于RSA加解密有长度限制,以及解密速度等问题, ...

  9. 【Python】【爬虫】爬取小说5000章,遇到的爬虫问题与解决思路

    爬虫问题分析 回顾 之前写了一个爬取小说网站的多线程爬虫,操作流程如下: 先爬取小说介绍页,获取所有章节信息(章节名称,章节对应阅读链接),然后使用多线程的方式(pool = Pool(50)),通过 ...

  10. 【pygame】Python小游戏开发之看代码学编程

    话说我学习的时候,英文文档难以理解,中文文档杂乱无章,最终还是觉得,还不如直接看代码学习. 下面是我学习过程中写的代码,注释写的很详细,我想会帮助你理解的 pip install pygame 1.游 ...