当前位置: 首页 > news >正文

iceberg FlinkSQL 特性

版本

        iceberg 1.2.0 

        flink 1.16.0

建表与限制

        创建一个带有主键的FlinkSQL表

CREATE TABLE `hive_catalog`.`default`.`sample_with_key` (id BIGINT COMMENT 'unique id',data STRING,primary key (id) not enforced
);

        截止 iceberg 1.2.0 FlinkSQL 不支持隐式分区,不支持计算列,watermark

        FlinkSQL 在hive中创建的表默认是外部表

修改表和删除表

ALTER TABLE `hive_catalog`.`default`.`sample` SET ('write.format.default'='avro');ALTER TABLE `hive_catalog`.`default`.`sample` RENAME TO `hive_catalog`.`default`.`new_sample`;

drop table new_sample;

 因为是默认创建的外部表,删除后在hdfs还存在data和metadata目录,但是数据被清空了

插入表和upsert问题

iceberg v2 版本的表在创建了主键的前提下支持upsert操作

CREATE TABLE `hive_catalog`.`default`.`sample_test_upsert` (`id` INT COMMENT 'unique id',`data` STRING NOT NULL,PRIMARY KEY(`id`) NOT ENFORCED
) with ('format-version'='2', 'write.upsert.enabled'='true');

在upsert模型下,分区字段必须是主键

upsert模式下存在的问题是,性能不好

新增两条数据

INSERT INTO `hive_catalog`.`default`.`sample_test_upsert` VALUES (1, 'a');
INSERT INTO `hive_catalog`.`default`.`sample_test_upsert` VALUES (2, 'b');

修改主键为2的数据

INSERT INTO `hive_catalog`.`default`.`sample_test_upsert` VALUES (2, 'c');

结果是主键为2的数据的data字段的字从b更新为了c

http://www.lryc.cn/news/618436.html

相关文章:

  • 古风修仙主题登录页面设计与实现 附源码 ~~~
  • Iptables 详细使用指南
  • 【CSS3】录音中。。。
  • 飞算JavaAI 2.0.0深度测评:自然语言编程如何重塑Java开发范式
  • 基于 gRPC 的接口设计、性能优化与生产实践
  • 《软件工程导论》实验报告一 软件工程文档
  • 新手向:Python编写简易翻译工具
  • Jmeter性能测试过程中遇到connection reset的解决方案
  • 易语言模拟真人鼠标轨迹算法 - 非贝塞尔曲线
  • HTTP应用层协议-长连接
  • 意图驱动——机器人大脑的正确驱动方式
  • 大模型驱动的服务革命:2025智能客服机器人选型与落地路径
  • 5-终端安全检测和防御技术
  • 【北京见闻】2025年世界机器人大会——所见所闻及所思
  • Node.js 精选:50 款文件处理与开发环境工具库
  • 最终章【1】Epson机器人篇
  • Ansible 自动化介绍
  • 什么时候用WS(WebSocket),什么使用用SSE(Server-Sent Events)?
  • windows git安装步骤
  • SSH浅析
  • Redis面试精讲 Day 19:Redis缓存设计模式与策略
  • 攻防世界—easyTornado
  • Jenkins 实战指南-项目自动构建部署全流程通关
  • 云原生作业(tomcat)
  • Flutter屏幕和字体适配(ScreenUtil)
  • Flutter GridView的基本使用
  • 【工具】通用文档转换器 推荐 Markdown 转为 Word 或者 Pdf格式 可以批量或者通过代码调用
  • Flutter 基于google验证登录实现
  • 肖臻《区块链技术与应用》第九讲:比特币交易的“智能”核心:深入解析脚本语言Script
  • Ubuntu系统安装学习笔记(Win双系统+非U盘安装)