IceBerg学习笔记2

一、前置内容

1.1 为什么需要大数据

1.2 各类分析模型

数据库设计三范式

三范式目的:数据唯一+减少数据冗余

ER实体关系模型

1.3 为什么构建数仓

1.4 如何构建数仓

1.4.1 数仓两阶段

1.4.2 维度建模

事实表:包含维度+指标 (是一个高表、宽表)

1.4.3 星型模型和雪花模型

星型模型
雪花模型

1.4.4 数仓分层实战

如何构建数仓?

分层构建数仓-不同的层采用不同的构建方式

1.4.5 大数据工作方向

二、数据湖Iceberg

1. 什么是数据湖

2. 为什么需要数据湖

三、Iceberg

3.1 概念及特点

3.2 Iceberg术语及表格式

3.3 Iceberg特点

3.4 数据类型

3.5 Hive与Iceberg整合

3.6 Hive中操作Iceberg格式表

3.6.1 不设置iceberg.catalog属性

3.6.2 设置iceberg.catalog对应的catalog名字

3.6.2.1 设置成hive

默认存储路径还是hive的warehouse,跟不设置的时候存储位置一样,如果想把数据存储到其他位置,可以使用location关键字指定

3.6.2.2 设置成hadoop

注意:hadoop管理catalog建表,必须指定location,而且对location的格式有严格管理,必须是前面指定的hadoop.warehouse/数据库名(如果没有,可以使用default)/表名

3.6.3 iceberg.catalog设置为location_based_table

加载已存在的表

3.7 表数据组织和查询

3.7.1 查询最新快照数据

3.7.2.查询某个快照的数据

3.7.3 根据时间戳查询

三、spark与Iceberg整合操作

3.1 版本说明及依赖

3.2 SparkSQL设置catalog

3.3 Spark 管理表

3.3.1 Spark使用Hive Catalog管理表

3.3.2 Spark使用Hadoop Catalog管理表

3.4 spark与Iceberg整合DDL操作

3.5 spark与Iceberg整合查询操作

3.6 spark与Iceberg整合写操作

3.7 SparkStreaming向Iceberg写数据

3.7.1 数据写入kafka代码

生成的数据如下:

3.7.2 消费kafka数据并写入Iceberg表中

3.7.3 从Iceberg读取数据

四、Flink与Iceberg整合

4.1 DataStreamAPI操作Iceberg

4.1.1 读取Kafka数据,单表写入Iceberg

4.1.2 DataStream API 批量读取Iceberg数据

上面是批量读取,读取完数据,程序终止,如果想要流式读取,需要将streaming设置成true,如下图:

这样,程序不会终止,如果有新的数据写入表中,程序能实时读取到数据。

4.1.3 读取快照

4.1.4 合并Data Files

4.2、Sql API 操作Iceberg

4.2.1 创建表并写入数据

4.2.2、SqlAPI 批量/实时查询Iceberg数据

批量读取
实时读取

4.2.3 基于快照实时读取

4.2.4 Sql API 实时读取kafka数据,写入Iceberg

4.3 Flink与Iceberg整合的不足

五、Iceberg与Hudi对比

相关推荐
geovindu10 小时前
Pivoting and Unpivoting Data in SQL using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
StarRocks_labs11 小时前
StarRocks + Paimon 多模态数据湖检索
starrocks·agent·数据湖·数据·paimon·mip
数据库小学妹11 小时前
OLAP数据库怎么选?看清OLTP、数仓、湖仓边界
数据仓库·mpp·列式存储·联机分析处理·数据库选型·olap数据库
程序 代码狂人1 天前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
天河归来1 天前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
注塑机数据采集联网3 天前
中科晟达注塑机 MES 系统:从车间到数字化的智能制造实践
大数据·数据仓库·人工智能·物联网·制造·数据库架构
泡海椒3 天前
JQuick-SQL 逻辑数据仓库:以注册数据集构建轻量分析层
数据库·数据仓库·sql
geovindu3 天前
sql:SQL Pagination and Limiting Results using PorstgreSQL 18.0
大数据·数据仓库·sql·postgresql·数据库开发·数据库架构·1024程序员节