一、开发注意事项

1、Iceberg选择合适的表版本

简述:Iceberg目前有两个表版本(V1和V2),根据数据选择合适的表版本。

V1表只支持增量数据插入,适合做纯增量写入场景,如埋点数据。

V2表才支持行级更新,适合做状态变化的更新,如订单表同步。

使用方式:建表语句时指定版本'format-version'='2',默认使用V1

2、Oceanus自动建表

简述:使用Oceanus时编写建表语句,Oceanus在第一次运行任务时会自动建表。不需要登录数据库手动建表。

3、建表类型转换问题

简述:mysql表create_time大多为timestamp类型,同步到iceberg后使用spark查询会报timezone错误。

原因:源表没有timezone, 下游表需要设置local timezone

使用方式:建iceberg表时指定字段类型为TIMESTAMP_LTZ类型

4、任务全量同步和增量同步

简述:全量同步阶段需要速度快,可以把flink checkpoint设置为1分钟,并发可以调高(比如1CU*10)这样可以快速同步数据。同时要考虑你的数据源能支持多快抽取,否则dba会找你。

增量阶段一般数据量比较低了,全量同步完后可以先把任务停止一下(注意保存checkpoint),然后调小资源和并发(比如0.5CU*1)可以节省资源。mysql增量阶段只能单线程跑,设置并发多也没用。

5、删表(spark方式删表)

简述:和hive删表不一样,iceberg默认只删除元数据不清理hdfs文件,删表语句后面需要加purge关键字。原本路径不会删除,腾讯特殊改造过包

使用方式:drop table data_lake_ods.test1 purge;

二、任务运维注意事项

1、小文件合并

简述:全量同步后因为每分钟一次checkpoint会生成大量的小文件,全量同步结束后需要做一下小文件合并,提高查询速度。

使用方式参考:Iceberg小文件合并测试

2、过期快照清理

简述:全量同步后因为每分钟一次checkpoint会产生大量快照,全量同步结束后需要做一下快照清理,提高查询速度。

使用方式参考:Iceberg过期快照清理

三、查询注意事项

1、presto查询iceberg表

简述:腾讯DLC那边做了改造支持查询V2表。自建emr的presto(旧集群)已支持查询v1版本表,因版本问题不支持v2表。

使用必读-使用Iceberg数据湖需要注意的点的更多相关文章

  1. 使用 Iceberg on Kubernetes 打造新一代云原生数据湖

    背景 大数据发展至今,按照 Google 2003年发布的<The Google File System>第一篇论文算起,已走过17个年头.可惜的是 Google 当时并没有开源其技术,& ...

  2. 均有商业公司支持!2023再看数据湖 hudi iceberg delta2 社区发展现状!

    开源数据湖三剑客 Apache hudi.Apache iceberg .Databricks delta 近年来大动作不断. 2021年8月,Apache Iceberg 的创始人 Ryan Blu ...

  3. 印度最大在线食品杂货公司Grofers的数据湖建设之路

    1. 起源 作为印度最大的在线杂货公司的数据工程师,我们面临的主要挑战之一是让数据在整个组织中的更易用.但当评估这一目标时,我们意识到数据管道频繁出现错误已经导致业务团队对数据失去信心,结果导致他们永 ...

  4. 对话Apache Hudi VP, 洞悉数据湖的过去现在和未来

    Apache Hudi是一个开源数据湖管理平台,用于简化增量数据处理和数据管道开发,该平台可以有效地管理业务需求,例如数据生命周期,并提高数据质量.Hudi的一些常见用例是记录级的插入.更新和删除.简 ...

  5. JuiceFS 在数据湖存储架构上的探索

    大家好,我是来自 Juicedata 的高昌健,今天想跟大家分享的主题是<JuiceFS 在数据湖存储架构上的探索>,以下是今天分享的提纲: 首先我会简单的介绍一下大数据存储架构变迁以及它 ...

  6. 从 Delta 2.0 开始聊聊我们需要怎样的数据湖

    盘点行业内近期发生的大事,Delta 2.0 的开源是最让人津津乐道的,尤其在 Databricks 官宣 delta2.0 时抛出了下面这张性能对比,颇有些引战的味道. 虽然 Databricks ...

  7. 重磅!flink-table-store 将作为独立数据湖项目重新加入 Apache

    数据湖是大数据近年来的网红项目,大家熟知的开源数据湖三剑客 Apache hudi.Apache iceberg .Databricks delta 近年来野蛮生长,目前各自背后也都有商业公司支持,投 ...

  8. lamba数据架构以及数据湖

    面试大数据项目,面试过程中发现面试官提到的两个概念没有搞清楚: 1. lamba数据架构:这个概念的提出是由storm的作者提出来的,其实主旨就是想要说明,数据的处理分成三层,一类是批处理程序(bat ...

  9. 构建企业级数据湖?Azure Data Lake Storage Gen2不容错过(上)

    背景 相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大.综合成本低.支持非结构化数据.查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式. 数据湖的核心功能, ...

  10. 构建企业级数据湖?Azure Data Lake Storage Gen2实战体验(中)

    引言 相较传统的重量级OLAP数据仓库,“数据湖”以其数据体量大.综合成本低.支持非结构化数据.查询灵活多变等特点,受到越来越多企业的青睐,逐渐成为了现代数据平台的核心和架构范式. 因此数据湖相关服务 ...

随机推荐

  1. 可爱的 Python: 创建声明性迷你语言

    编程为断言而不是指令 Python 的面向对象和透明自省功能使您可以轻松地创建用于编程任务的声明性迷你语言.在本专栏文章中,David 并未仔细研究如何使用 Python 来解释或翻译其它的专门语言( ...

  2. PowerShell 重命名文件夹及删除空文件夹

    数据来源 $urldata 中的倒数第2列(子文件夹名称列)包含 /.\ 等特殊字符 某个文件夹重命名脚本 foreach ($i in 0..100) { # 提取路径部分 $basePath = ...

  3. Linux清理内存,清理储存

    因为工作中项目部署服务器后更新迭代或者服务器使用时间长后会出现内存/储存爆满,所以整合了一下,方便以后使用: 清理虚拟内存 查看内存 free -h 清理缓存 输入命令释放内存 0 – 不释放 1 – ...

  4. 服务拆分之《Dubbo服务跨云通信》

    2022年10月开始,公司从阿里请来的架构师将全力推进服务拆分这个计划.实际上这个计划早就提上日程了,只是没有一个带头大哥带着把这个事情搞起来,因为这个系统太庞大了,还非常的复杂,当时就没有哪一个人是 ...

  5. 【相邻不同型贪心】LeetCode767 重构字符串

    题解 通常直接思考最佳策略是十分困难的,我们不妨思考每一种情况需要如何处理: 整个字符串只有一种字符 若字符串长度为 \(1\),那么字符串本身即为答案: 若字符串长度大于等于 \(2\),那么不存在 ...

  6. 基于知识图谱的医疗问答系统(dockerfile+docker-compose)

    目录 一.搭建 Neo4j 图数据库 1.方式选择 2.Dockerfile+docker-compose部署neo4j容器 2.1.更新 yum 镜像源 2.2.安装 docker-ce 社区版 2 ...

  7. IOS热重载工具InjectionIII

    IOS热重载工具InjectionIII 支持 OC.Swift 以及 Swift 和 OC 混编项目的 UI 热重载工具,采取在模拟器(真机不支持)注入方式实现 UI 热重载,修改完 UI 直接 c ...

  8. 中电金信:金Gien乐道 | 6月热门新闻盘点 回顾这一月的焦点事件

  9. mysql:sql create database新建utf8mb4 数据库

    create database sina default character set utf8mb4 collate utf8mb4_unicode_ci;或者是create database con ...

  10. baomidou的dynamic-datasource读写分离实现和加入AOP根据方法名选择库

    文档 https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter/wikis/pages maven   <depende ...