系列文章目录

实践数据湖iceberg 第一课 入门
实践数据湖iceberg 第二课 iceberg基于hadoop的底层数据格式
实践数据湖iceberg 第三课 在sqlclient中,以sql方式从kafka读数据到iceberg
实践数据湖iceberg 第四课 在sqlclient中,以sql方式从kafka读数据到iceberg(升级版本到flink1.12.7)
实践数据湖iceberg 第五课 hive catalog特点
实践数据湖iceberg 第六课 从kafka写入到iceberg失败问题 解决
实践数据湖iceberg 第七课 实时写入到iceberg
实践数据湖iceberg 第八课 hive与iceberg集成
实践数据湖iceberg 第九课 合并小文件
实践数据湖iceberg 第十课 快照删除
实践数据湖iceberg 第十一课 测试分区表完整流程(造数、建表、合并、删快照)
实践数据湖iceberg 第十二课 catalog是什么
实践数据湖iceberg 第十三课 metadata比数据文件大很多倍的问题
实践数据湖iceberg 第十四课 元数据合并(解决元数据随时间增加而元数据膨胀的问题)
实践数据湖iceberg 第十五课 spark安装与集成iceberg(jersey包冲突)
实践数据湖iceberg 第十六课 通过spark3打开iceberg的认知之门
实践数据湖iceberg 第十七课 hadoop2.7,spark3 on yarn运行iceberg配置
实践数据湖iceberg 第十八课 多种客户端与iceberg交互启动命令(常用命令)
实践数据湖iceberg 第十九课 flink count iceberg,无结果问题
实践数据湖iceberg 第二十课 flink + iceberg CDC场景(版本问题,测试失败)
实践数据湖iceberg 第二十一课 flink1.13.5 + iceberg0.131 CDC(测试成功INSERT,变更操作失败)
实践数据湖iceberg 第二十二课 flink1.13.5 + iceberg0.131 CDC(CRUD测试成功)
实践数据湖iceberg 第二十三课 flink-sql从checkpoint重启
实践数据湖iceberg 第二十四课 iceberg元数据详细解析
实践数据湖iceberg 第二十五课 后台运行flink sql 增删改的效果
实践数据湖iceberg 第二十六课 checkpoint设置方法
实践数据湖iceberg 第二十七课 flink cdc 测试程序故障重启:能从上次checkpoint点继续工作
实践数据湖iceberg 第二十八课 把公有仓库上不存在的包部署到本地仓库
实践数据湖iceberg 第二十九课 如何优雅高效获取flink的jobId
实践数据湖iceberg 第三十课 mysql->iceberg,不同客户端有时区问题
实践数据湖iceberg 第三十一课 使用github的flink-streaming-platform-web工具,管理flink任务流,测试cdc重启场景
实践数据湖iceberg 第三十二课 DDL语句通过hive catalog持久化方法
实践数据湖iceberg 第三十三课 升级flink到1.14,自带functioin支持json函数
实践数据湖iceberg 第三十四课 基于数据湖icerberg的流批一体架构-流架构测试
实践数据湖iceberg 更多的内容目录


文章目录

  • 系列文章目录
  • 前言
  • 一、基于数据湖icerberg的流批一体架构
  • 二、创建表
  • 三、创建topic
  • 四. 测试:
    • 1.测试count
    • 4.2 测试group by count
    • 4.3 参考官网配置流模式
    • 4.4 流模式group by测试
  • 总结

前言

lambda架构中, kafka->flink中支持 各种流函数,
数据入iceberg后,如何对icberg进行流操作,实现类似流函数的结果?
基于数据湖的流批一体是什么意思?


一、基于数据湖icerberg的流批一体架构

整体思路:

批计算,很好理解,跟原来hive的离线任务一样。
流计算:基于iceberg能否支持想操作kafka一样的流计算? 有什么特点?

流计算测试三种语法: 1.select * ,2.select count 3.group by count语法,如下图

二、创建表

创建表:

CREATE TABLE IF NOT EXISTS KafkaTableSource_XXZH (`log` STRING,`date` STRING
) WITH ('connector' = 'kafka','topic' = 'test_xxzh','properties.bootstrap.servers' = 'hadoop101:9092,hadoop102:9092,hadoop103:9092','properties.group.id' = 'testGroup','scan.startup.mode' = 'earliest-offset','format' = 'csv'
);CREATE CATALOG hive_iceberg_catalog WITH ('type'='iceberg','catalog-type'='hive','uri'='thrift://hadoop101:9083','clients'='5','property-version'='1','warehouse'='hdfs:///user/hive/warehouse/hive_iceberg_catalog'
);
use catalog hive_iceberg_catalog;
CREATE TABLE IF NOT EXISTS ods_base.IcebergSink_XXZH (`log` STRING,`dt` STRING
)with('write.metadata.delete-after-commit.enabled'='true','write.metadata.previous-versions-max'='5','format-version'='2');insert into  ods_base.IcebergSink_XXZH select * from default_catalog.default_database.KafkaTableSource_XXZH;


上面sql意义:

三、创建topic

[root@hadoop101 hadoop]# kafka-console-producer.sh --broker-list hadoop10192,hadoop102:9092,hadoop103:9092 --topic test_xxzh

四. 测试:

1.测试count

观察结果

结果: 多生产一条,count的结果,增加1

结论: count能实时随数据变化

4.2 测试group by count

对source 表测试,没用

没有变化,生产者不断加数据,groupBy结果没变化

失败原因: 是没有使用流模式,下面使用流模式测试

4.3 参考官网配置流模式

SET execution.type = streaming ;
SET table.dynamic-table-options.enabled=true;
select `date`,count(*) from KafkaTableSource_XXZH /*+ OPTIONS('streaming'='true', 'monitor-interval'='1s')*/ group by `date`  ;

参考官网语法: https://iceberg.apache.org/docs/latest/flink/

4.4 流模式group by测试

对数据湖表测试:
select dt,count(1) from icebergsink_xxzh /+ OPTIONS(‘streaming’=‘true’, ‘monitor-interval’=‘1s’)/ group by dt;

Flink SQL>  select dt,count(1) from icebergsink_xxzh  /*+ OPTIONS('streaming'='true', 'monitor-interval'='1s')*/  group by dt;



结果加1

总结

测试结果:对iceberg操作, 基于批的sql,也能实现update的效果! 流批一体,就是使用一套sql实现流批语义,摆脱原来流批两套语义的语法。

实践数据湖iceberg 第三十四课 基于数据湖icerberg的流批一体架构-流架构测试相关推荐

  1. 七年级计算机第十四课编排表格,浙教版 信息技术七年级上 第十四课 编辑数据表 教案设计.doc...

    第十四课 编辑数据表 一.教学目标 知识与技能: 1.掌握单元格的插入的方法.单元格的合并和居中.调整单元格大小 ; 2.掌握单元格数据对齐方式的设置.单元格字体.字号.字体颜色的设置; 3.掌握单元 ...

  2. JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入)

    JAVASE基础模块三十四( 菜鸡版简单登录验证模块系统IO流文件写入) 开发流程:需求文档 接口文档 效果图 开发环境统一:JDK1.8 IDEA win10 GIT SSM SSH SpringB ...

  3. 回溯法采用的搜索策略_强化学习基础篇(三十四)基于模拟的搜索算法

    强化学习基础篇(三十四)基于模拟的搜索算法 上一篇Dyna算法是基于真实经验数据和模拟经验数据来解决马尔科夫决策过程的问题.本篇将结合前向搜索和采样法,构建更加高效的搜索规划算法,即基于模拟的搜索算法 ...

  4. 第三十四课.模糊神经网络

    目录 模糊理论 Fuzzy Set Fuzzy set operations Fuzzy Min Max Classifier 应用:基于模糊神经网络的水轮机调速器PID控制 模糊理论 在本篇内容中, ...

  5. 学习淘淘商城第三十四课(在业务逻辑中添加缓存)

    上节课我们一起学习了如何用Spring容器来管理Redis单机版和集群版实现.这节我们来学习下在业务中添加缓存. Redis添加缓存有两种方式,一种是set,另一种是hset,这两种方式的不同之处是h ...

  6. PreScan快速入门到精通第三十四讲基于PreScan进行超声波雷达传感器仿真

    超声波传感器是一种基于高频声波(>20 kHz)的收发器.超声波传感器的工作原理与雷达传感器非常相似,通过分析传输信号的回波来评估目标的属性. 超声波传感器在汽车领域得到了广泛的应用.典型的应用 ...

  7. HLS第三十四课(UG871,HLS IP接入SOC系统)

    能够和其他模块通过AXIS互联的接口, 需要使用接口约束,axis. 能够和DMA通过AXI4互联的接口, 需要使用接口约束,m_axi. 能够接入SOC系统的, 需要使用接口约束,s_axilite ...

  8. 新版标准日本语初级_第三十四课

    语法   1. 他动 てあります:表示有意进行的动作结果的存续状态.在这个句型里不涉及动作的主体,而只涉及动作的对象. 壁にカレンダーが掛けてあります(墙上挂着挂历) 窓が開けてあります(窗户开着) ...

  9. 第三十五课.基于贝叶斯的深度学习

    目录 贝叶斯公式 基础问题 贝叶斯深度学习与深度学习的区别 贝叶斯神经网络与贝叶斯网络 贝叶斯神经网络的推理与学习 前向计算 学习 贝叶斯公式 首先回顾贝叶斯公式:p(z∣x)=p(x,z)p(x)= ...

最新文章

  1. SQL 的执行顺序,记录一下。
  2. 使用动态代理,提高工作效率
  3. php use as是什么意思,use关键字在PHP中的几种用法
  4. toncat 如何部署 java_tomcat中部署java项目
  5. 力扣 1553. 吃掉 N 个橘子的最少天数 记忆化DFS|记忆化BFS|剪枝
  6. java调用shell脚本并传递参数
  7. python crm_Python CRM项目一
  8. 互联网日报 | 6月7日 星期一 | 华为已捐献鸿蒙全部基础能力;芝麻信用7年免押金4000亿;奈雪的茶通过港交所上市聆讯...
  9. 自定义jQuery 跨域请求 callback 函数名
  10. android modbus 串口,android modbus RTU jssc连接
  11. 2003系统企业版镜像服务器,Windows Server 2003 R2/SP2简体中文企业版原版镜像
  12. vbs整人代码蓝屏_求大量VBS整人代码.
  13. 小A与小姐姐给气球涂色[dp + 快速幂]
  14. SudokuGame 记软工第二次作业
  15. ubuntu下进行流量监控软件nethogs安装
  16. Java计算1234各个位数和
  17. 跨境电商shopee的本土开店经验
  18. 正确处理下载文件时HTTP头的编码问题(Content-Disposition),safari下载文件 中文名乱码问题
  19. 一文读懂胶囊神经网络
  20. c语言在线答疑,C语言程序设计问题答疑材料(辅导老

热门文章

  1. 女装网 www.nzw.com.cn
  2. python随机生成licence plate numer
  3. 三、mongdb 查询
  4. 《寒江独钓》内核学习笔记
  5. shell foreach
  6. 百度网盘免费扩容2T的内幕
  7. 基于OpenCASCADE自制三维建模软件(三)搭建开发环境
  8. CF581B Luxurious Houses 模拟
  9. 联想小新pro14 2022款和2021款的区别
  10. DPDK内存管理 ----- (四) rte_mbuf