IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【笔记】Apache Iceberg 原理介绍 | 阿里云 x StarRocks社区联合Meetup -> 正文阅读

[大数据]【笔记】Apache Iceberg 原理介绍 | 阿里云 x StarRocks社区联合Meetup

【笔记】Apache Iceberg 原理介绍 | 阿里云 x StarRocks社区联合Meetup

0. 前言

Iceberg是为了解决Hive上云诞生的一个工具。
原理是一种用于跟踪超大规模表的新格式,是专门为对象存储(如 S3)而设计的。
核心思想:在时间轴上跟踪表的所有变化。

强烈推荐看下这篇学习日志,看下iceberg如何读写,实际如何使用?同时,了解下Hive的架构

  • Apache Iceberg 学习日志 https://xie.infoq.cn/article/61a82b983ef97c3e05a6e7d82
    在这里插入图片描述

  • Hive架构,Metadata-store是什么? 存储了哪些信息? 有什么优化点?
    在这里插入图片描述

1 Hive挑战

  1. 上云
    • HMS依赖Mysql,Mysql做分布式不方便;
    • HMS抽象不清晰,Schema/表统计信息/分区信息等边界不清晰;
    • 读 读mysql获取分区信息,再跨shard去list,成本太高 (LIST指令成本高,GET成本低)
    • 写 ?这块没太听懂,GET不到点
    • 要求1.支持多种存储格式(弹性低廉稳定) 2. 统一Table语义(支持对象存储) 3. 计算引擎互通
  2. 近实时数仓
    • 入仓,无法接受分钟级,对HMS是一种压力
    • 出仓,不支持增量数据查询
    • 要求: 1.分钟级别入仓 2. 更高效索引加速数据分析,查询响应要快 3. 增量出湖出仓,下游ETL响应更快
  3. 变更
    • 字段变更对读端影响
    • 分区字段变更: 月粒度转日粒度,hive是把数据重新insert一遍
    • 要求:1. schema变更 2. 分区变更 3. 数据变更
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. Iceberg的解决方案

  1. 挑战1: 上云
    • 数据访问不用list,都是get;扩展性 (? 对象存储,不是HMS那种mysql)
    • ACID不依赖RENAME (我理解RENAME就是先把数据写到一个临时区域,写入完成再将数据置位有效,这个置位有效的过程就是RENAME) 另外,这个锁服务很解耦,可以放到适配任何一个锁服务
  2. 挑战2: 近实时数仓
    • 去中心化 可拓展的metadata (托管给一个分布式系统)
    • 丰富的metadata-index的加速 (用的get 不是list)
    • 增量出入湖 (通过新的metadata去获取增量部分)
  3. 挑战3: 变更
    • 快速实现Schema变更(多版本变更,1s完成,它也提供了完成ACID语义,可以优雅变更,用户永远看到的一致的结果)
    • 轻量级分区变更(老的不变,新的用新的分区)
    • V2支持Merge-On-Read方法更新数据(读的时候进行一个处理,写入性能高,读受些影响. 学习资料https://blog.csdn.net/wuleidaren/article/details/114037442)
Row-Level Delete 是指根据一个条件从一个数据集里面删除指定行。它实现方式可以分为Copy on Write模式和Merge on Read模式,其中Copy on Write模式可以保证下游的数据读具有最大的性能,而Merge on Read模式保证上游数据插入、更新、和删除的性能,减少传统Copy on Write模式下写放大问题。本次我们只讨论基于 Merge on Read 模式的实现方式。

sequence number 的生成是与 snapshot 强相关的,可以这样理解,在每次生成新的 snapshot 时(即每一次 commit success 时),会为本次新生成的 data-file 、delete-file 以及对应的 manifest 分配一个递增的序列号。
————————————————
版权声明:本文为CSDN博主「corleone_lw」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wuleidaren/article/details/114037442

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-02-05 21:48:17  更:2022-02-05 21:50:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 13:48:44-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码