Apache Paimon使用之 Altering Tables

这篇具有很好参考价值的文章主要介绍了Apache Paimon使用之 Altering Tables。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.改变或增加表属性

设置表属性 write-buffer-size 为256 MB

Flink 引擎

ALTER TABLE my_table SET (
    'write-buffer-size' = '256 MB'
);

Spark3引擎

ALTER TABLE my_table SET TBLPROPERTIES (
    'write-buffer-size' = '256 MB'
);
2.重命名表

Flink引擎

ALTER TABLE my_table RENAME TO my_table_new;

Spark3引擎

最简单的sql调用是

ALTER TABLE my_table RENAME TO my_table_new;

可以以这种方式重命名paimon表

ALTER TABLE [catalog.[database.]]test1 RENAME to [database.]test2;

不能将Catalog名称放在重命名的表之前,会报错:

ALTER TABLE catalog.database.test1 RENAME to catalog.database.test2;

注意:如果使用对象存储,如S3或OSS,请谨慎使用此语法,因为对象存储的重命名不是原子的,如果发生故障,只能移动失败的文件。

3.删除表属性

Flink引擎

ALTER TABLE my_table RESET ('write-buffer-size');

Spark3引擎

ALTER TABLE my_table UNSET TBLPROPERTIES ('write-buffer-size');
3.添加新列

Flink引擎

ALTER TABLE my_table ADD (c1 INT, c2 STRING);

Spark3引擎

ALTER TABLE my_table ADD COLUMNS (
    c1 INT,
    c2 STRING
);
4.重命名列名

Flink引擎

ALTER TABLE my_table RENAME c0 TO c1;

Spark3引擎

ALTER TABLE my_table RENAME COLUMN c0 TO c1;
5.删除列

注意:如果在hive catalog中使用,需要在hive server中禁用hive.metastore.disallow.incompatible.col.type.changes。

Flink引擎

ALTER TABLE my_table DROP (c1, c2);

Spark3引擎

ALTER TABLE my_table DROP COLUMNS (c1, c2);

6.删除分区

Flink引擎

对于flink sql,可以指定分区列的部分列,也可以同时指定多个分区值。

ALTER TABLE MyTable DROP PARTITION (`id` = 1);

ALTER TABLE MyTable DROP PARTITION (`id` = 1, `name` = 'paimon');

ALTER TABLE MyTable DROP PARTITION (`id` = 1), PARTITION (`id` = 2);

Spark3引擎

对于spark sql,需要指定所有分区列。

ALTER TABLE MyTable DROP PARTITION (`id` = 1, `name` = 'paimon');
7.更改列是否允许为Null

Flink引擎

CREATE TABLE my_table (id INT PRIMARY KEY NOT ENFORCED, coupon_info FLOAT NOT NULL);

-- Change column `coupon_info` from NOT NULL to nullable
ALTER TABLE my_table MODIFY coupon_info FLOAT;

-- Change column `coupon_info` from nullable to NOT NULL
-- If there are NULL values already, set table option as below to drop those records silently before altering table.
SET 'table.exec.sink.not-null-enforcer' = 'DROP';
ALTER TABLE my_table MODIFY coupon_info FLOAT NOT NULL;

Spark3引擎

ALTER TABLE my_table ALTER COLUMN coupon_info DROP NOT NULL;

注意:将可Null列更改为NOT NULL目前仅Flink引擎支持。

8.更改列注释

Flink引擎

ALTER TABLE my_table MODIFY buy_count BIGINT COMMENT 'buy count';

Spark3引擎

ALTER TABLE my_table ALTER COLUMN buy_count COMMENT 'buy count';
9.在指定位置添加列

Flink引擎

ALTER TABLE my_table ADD c INT FIRST;

ALTER TABLE my_table ADD c INT AFTER b;

Spark3引擎

ALTER TABLE my_table ADD COLUMN c INT FIRST;

ALTER TABLE my_table ADD COLUMN c INT AFTER b;
10.更改现有列的位置

Flink引擎

ALTER TABLE my_table MODIFY col_a DOUBLE FIRST;

ALTER TABLE my_table MODIFY col_a DOUBLE AFTER col_b;

Spark3引擎

ALTER TABLE my_table ALTER COLUMN col_a FIRST;

ALTER TABLE my_table ALTER COLUMN col_a AFTER col_b;
11.修改列的类型

Flink引擎

ALTER TABLE my_table MODIFY col_a DOUBLE;

Spark3引擎

ALTER TABLE my_table ALTER COLUMN col_a TYPE DOUBLE;

支持的类型转换

https://paimon.apache.org/docs/0.7/how-to/altering-tables/
12.添加watermark

从现有列log_ts添加一个计算列ts,并在列ts上添加一个带有策略ts - INTERVAL '1' HOUR的watermark,该列ts被标记为表my_table的事件时间属性。文章来源地址https://www.toymoban.com/news/detail-838827.html

ALTER TABLE my_table ADD (
    ts AS TO_TIMESTAMP(log_ts) AFTER log_ts,
    WATERMARK FOR ts AS ts - INTERVAL '1' HOUR
);
13.删除watermark
ALTER TABLE my_table DROP WATERMARK;
14.修改watermark策略
ALTER TABLE my_table MODIFY WATERMARK FOR ts AS ts - INTERVAL '2' HOUR

到了这里,关于Apache Paimon使用之 Altering Tables的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 新一代数据湖存储技术Apache Paimon入门Demo

    目录 前言 1. 什么是 Apache Paimon 一、本地环境快速上手 1、本地Flink伪集群 2、IDEA中跑Paimon Demo 2.1 代码 2.2 IDEA中成功运行 3、IDEA中Stream读写 3.1 流写 3.2 流读(toChangeLogStream) 二、进阶:本地(IDEA)多流拼接测试 要解决的问题: note: 1、\\\'changelog-producer\\\' = \\\'full-compaction\\\' (1)m

    2024年02月08日
    浏览(51)
  • Apache Paimon 文件管理

    管理小文件 许多用户关注小文件问题,可能导致以下情况: 稳定性问题:HDFS 中如果存在太多小文件的话会导致 NameNode 压力过大 成本问题:在 HDFS 中,每个小文件都会占用至少一个数据块的大小,例如 128 MB 查询效率:查询过多小文件会影响查询效率 理解 Checkpoint 假设你正

    2024年02月21日
    浏览(42)
  • Apache Doris大规模数据使用指南

    目录 一、发展历史 二、架构介绍 弹性MPP架构-极简架构 逻辑架构 基本访问架构 三、Doris的数据分布

    2024年02月12日
    浏览(48)
  • 掌握实时数据流:使用Apache Flink消费Kafka数据

            导读:使用Flink实时消费Kafka数据的案例是探索实时数据处理领域的绝佳方式。不仅非常实用,而且对于理解现代数据架构和流处理技术具有重要意义。         Apache Flink  是一个在 有界 数据流和 无界 数据流上进行有状态计算分布式处理引擎和框架。Flink 设计旨

    2024年02月03日
    浏览(81)
  • 使用 Apache Kafka 和 Go 将数据引入 OpenSearch

            需要编写自定义集成层来满足数据管道中的特定要求?了解如何使用 Go 通过 Kafka 和 OpenSearch 实现此目的。         可扩展的数据摄取是OpenSearch等大规模分布式搜索和分析引擎的一个关键方面。构建实时数据摄取管道的方法之一是使用Apache Kafka。它是一个开源

    2024年02月12日
    浏览(38)
  • Apache Spark 练习六:使用Spark分析音乐专辑数据

    本章所分析的数据来自于Kaggle公开的、人工合成的音乐专辑发行数据(https://www.kaggle.com/datasets/revilrosa/music-label-dataset)。以下,我们只针对albums.csv文件进行分析。该数据具体包括以下字段: id: the album identifier; artist_id: the artist identifier; album_title: the title of the album; genre: the

    2024年02月15日
    浏览(63)
  • Apache DolphinScheduler 支持使用 OceanBase 作为元数据库啦!

    DolphinScheduler是一个开源的分布式任务调度系统,拥有分布式架构、多任务类型、可视化操作、分布式调度和高可用等特性,适用于大规模分布式任务调度的场景。目前DolphinScheduler支持的元数据库有Mysql、PostgreSQL、H2,如果在业务中需要更好的性能和扩展性,可以在DolphinSche

    2024年02月12日
    浏览(37)
  • 如何使用Docker部署Apache+Superset数据平台并远程访问?

    Superset是一款由中国知名科技公司开源的“现代化的企业级BI(商业智能)Web应用程序”,其通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。Superset在数据处理和可视化方面具有强大的功能,能够满足企业级的数据分析需求,并为用户提供直观、灵

    2024年02月04日
    浏览(39)
  • Azure - 机器学习:使用 Apache Spark 进行交互式数据整理

    关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构、AI产品研发经验、团队管理经验,同济本复旦硕,复旦机器人智能实验室成员,阿里云认证的资深架构师,项目管理专业人士,上亿营收AI产品研发负责人。 数据整理已经成为机器学习项目中最重要的步骤之一。

    2024年02月08日
    浏览(50)
  • 使用Apache POI数据导出及EasyExcel进行十万、百万的数据导出

    Apache POI 是基于 Office Open XML 标准( OOXML )和 Microsoft 的 OLE 2 复合⽂档 格式( OLE2 )处理各种⽂件格式的开源项⽬。 简⽽⾔之,您可以使⽤ Java 读写 MS Excel ⽂件,可以使⽤ Java 读写 MS Word 和 MS PowerPoint ⽂件。 1.HSSF - 提供读写 Microsoft Excel XLS 格式 (Microsoft Excel 97 (-2003)) 档案

    2024年02月15日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包