Paimon下载使用和基础操作说明

简介

Apache Paimon 是一种湖格式,支持使用 Flink 和 Spark 构建实时湖仓一体架构 用于流式处理和批处理操作。Paimon创新性地将湖格式与LSM(Log-structured merge-tree)相结合 结构,将实时流式更新引入 Lake 架构。

Paimon提供以下核心能力:

实时更新:

主键表支持大规模更新的写入,具有非常高的更新性能,通常通过 Flink Streaming。

支持定义合并引擎,随心所欲地更新记录。删除重复数据以保留最后一行、部分更新、聚合记录或第一行,由您决定。

支持定义 changelog-producer,在合并引擎的更新中生成正确和完整的更改日志,简化您的流分析。

附加数据处理:

追加表(无主键)提供大规模批处理和流式处理功能。自动小文件合并。

支持z-order排序的数据压缩以优化文件布局,使用 minmax 等索引提供基于数据跳过的快速查询。

数据湖功能:

可扩展元数据:支持存储PB级大规模数据集,存储大量分区。

支持 ACID 事务 & 时间旅行 & 模式演进。

版本

文中使用相关技术版本为flink-1.16和paimon-flink-1.16-0.8.1.jar

添加jar

将paimon-flink-1.16-0.8.1.jar添加到FLINK_HOME/lib目录下

修改FLINK配置文件

vim  <FLINK_HOME>/conf/flink-conf.yaml

taskmanager.numberOfTaskSlots: 2

启动FLINK

./bin/start-cluster.sh

执行FLINK SQL

./bin/sql-client.sh

Create a Catalog and a Table

-- if you're trying out Paimon in a distributed environment,

-- the warehouse path should be set to a shared file system, such as HDFS or OSS

CREATE CATALOG my_catalog WITH (

    'type'='paimon',

    'warehouse'='file:/tmp/paimon'

);

USE CATALOG my_catalog;

-- create a word count table

CREATE TABLE word_count (

    word STRING PRIMARY KEY NOT ENFORCED,

    cnt BIGINT

);

写数据

-- create a word data generator table

CREATE TEMPORARY TABLE word_table (

    word STRING

) WITH (

    'connector' = 'datagen',

    'fields.word.length' = '1'

);

-- paimon requires checkpoint interval in streaming mode

SET 'execution.checkpointing.interval' = '10 s';

-- write streaming data to dynamic table

INSERT INTO word_count SELECT word, COUNT(*) FROM word_table GROUP BY word;

OLAP 查询

-- use tableau result mode

SET 'sql-client.execution.result-mode' = 'tableau';

-- switch to batch mode

RESET 'execution.checkpointing.interval';

SET 'execution.runtime-mode' = 'batch';

-- olap query the table

SELECT * FROM word_count;

流式查询

-- switch to streaming mode

SET 'execution.runtime-mode' = 'streaming';

-- track the changes of table and calculate the count interval statistics

SELECT `interval`, COUNT(*) AS interval_cnt FROM

(SELECT cnt / 10000 AS `interval` FROM word_count) GROUP BY `interval`;

停止FLINK

./bin/stop-cluster.sh

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/870457.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

05_TypeScript 中的数据类型

TypeScript 中的数据类型 一、概述二、详解布尔类型&#xff08;boolean&#xff09; true / false数字类型&#xff08;number&#xff09;字符串类型&#xff08;string&#xff09;数组类型&#xff08;array&#xff09;元组类型&#xff08;tuple&#xff09; 属于数组的一…

linux高级编程(网络)

数据的封包和拆包 封包&#xff1a; 应用层数据&#xff08;例如HTTP请求&#xff09;被传递给传输层。传输层&#xff08;TCP&#xff09;在数据前添加TCP头部&#xff08;包含端口号、序列号等&#xff09;。网络层&#xff08;IP&#xff09;在TCP段前添加IP头部&#xff…

C#Winform窗体中嵌入exe文件

1&#xff0c;效果以嵌入Modbus Slave为例&#xff1a; 2&#xff0c;代码&#xff1a; public partial class Form1 : Form{//设置嵌入exe的常量private const int nIndex -16;private const int dwNewLong 0x10000000;Process m_AppProcess;public Form1(){InitializeCompo…

Python爬虫-requests模块

前戏: 1.你是否在夜深人静的时候&#xff0c;想看一些会让你更睡不着的图片却苦于没有资源... 2.你是否在节假日出行高峰的时候&#xff0c;想快速抢购火车票成功..。 3.你是否在网上购物的时候&#xff0c;想快速且精准的定位到口碑质量最好的商品. …

VIM模式之间的切换

命令行界面下&#xff0c;常用的文本编辑器是 VI / VIM(VI增强版)&#xff0c;VI 是 Linux 最通用的文本编辑器&#xff0c;VIM相较于VI&#xff0c;提供了代码高亮等功能&#xff0c;两者用法完全兼容&#xff1b; 1. 进入 VIM 工作界面 vim 文件名 2. 进入编辑模式 三种方…

modern C++:闭包与匿名函数

最近放假在写一个小项目&#xff0c;用到了闭包和匿名函数的知识&#xff0c;记录一下 What&#xff1f; 匿名函数&#xff1a;匿名函数&#xff08;英语&#xff1a;Anonymous Function&#xff09;在计算机编程中是指一类无需定义标识符&#xff08;函数名&#xff09;的函数…

ENSP中OSPF配置

题目 划分网段&#xff0c;配置ip OSPF配置按照区域划分&#xff0c;这个网段也要按照区域个数划分&#xff0c;如这一题&#xff0c;分成两个区域&#xff0c;所以将192.168.1.0/24划分先为两个网段&#xff0c;然后在具体的划分区域中的网段。 以交换机为中心的三条线属于一…

go语言小练习——基于goroutine实现的Tcp聊天室

前言 博主最近没怎么写go&#xff0c;最近正好放暑假&#xff0c;写了一个小demo来复习一下&#xff0c;源码会放在资源了&#xff0c;大家按需取用。 服务端 package mainimport ("bufio""fmt""github.com/sirupsen/logrus""net"&…

爬虫学习前记----Python

引言 1.语言&#xff1a;python 2.学习资源&#xff1a;【Python爬虫】 3.爬虫日记&#xff1a; python内容 1.字符串输出 (1)引号问题 print("python") 输出&#xff1a;pythonprint(python) 输出&#xff1a;pythonprint(python"学习") 输出&…

[Qt] Qt Creator中,新建QT文件时选择界面模版下的各选项

在Qt Creator中&#xff0c;新建文件时选择界面模版下的各选项具有特定的意义&#xff0c;这些选项主要帮助开发者根据项目需求快速生成不同类型的文件。以下是对这些选项的详细解释&#xff1a; 0. Qt Item Model 意义&#xff1a;列表模型是Qt中用于表示和操作数据的强大抽…

C++多态中的构造函数和析构函数

常见问题 构造函数可以是虚函数吗&#xff1f; 答&#xff1a;构造函数不可以是虚函数。 原因&#xff1a; 构造对象时必须知道对象的实际类型&#xff0c;但是虚函数调用在运行时才能确定对象的实际类型&#xff0c;这会导致编译器无法确定对象的具体类型。 虚函数的执行依赖于…

Android 使用 Debug.startMethodTracing 分析方法耗时

参考 Generate Trace Logs by Instrumenting Your App 官网提供了 trace 工具来分析方法耗时。 生成 trace 文件 package com.test.luodemo.trace;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle; import android.os.Debug; import android.uti…

实体类:JavaBean

文章目录 什么是实体类&#xff1f;满足要求应用场景 什么是实体类&#xff1f; 就是仅仅只用来保存数据的Java类有getter setter 方法&#xff0c;就只能用它来存取数据 满足要求 成员变量都是private都有getter setter方法类中必须有public的无参构造函数 应用场景 实体…

js vue table单元格合并

实现效果 关键代码 <table classtable table-bordered><thead><tr><th>检测项目</th><th>详细说明</th><th>检测结果</th><th>检测说明</th></tr></thead><tbody><tr ng-repeatrow in…

【car】深入浅出学习机械燃油车知识、结构、原理、维修、保养、改装、编程

汽车的五大总成通常是指发动机、变速器、前后桥、车架和悬挂系统。 发动机&#xff1a;是汽车的动力来源&#xff0c;负责将燃料的化学能转化为机械能&#xff0c;驱动汽车行驶。常见的发动机类型有内燃机&#xff08;如汽油发动机、柴油发动机&#xff09;和电动机&#xff0…

解析.Bixi勒索病毒:威胁分析与防范策略

导言&#xff1a; 在当今数字化时代&#xff0c;勒索病毒成为了网络安全的一大威胁。最近出现的.bixi勒索病毒引发了广泛关注和担忧。本文将介绍这种新型勒索病毒的特点和传播方式&#xff0c;并提供有效的应对策略&#xff0c;帮助您保护个人和组织的数据安全。如不幸感染这个…

asp .net core 避免请求body数据量过大

方法1&#xff0c; 全局避免 引入包 dotnet add package Microsoft.AspNetCore.Http.Features using Microsoft.AspNetCore.Http.Features;public void ConfigureServices(IServiceCollection services) {services.Configure<FormOptions>(options >{// 设置允许的最…

ant design pro多页签功能

效果&#xff1a; 原理&#xff1a; 1、所有需要页签页面&#xff0c;都需要一个共同父组件 2、如何缓存&#xff0c;用的是ant的Tabs组件&#xff0c;在共同父组件中&#xff0c;实际是展示的Tabs组件 3、右键&#xff0c;用的是ant的Dropdown组件&#xff0c;当点击时&…

【数理统计】2-随机变量及其概率分布

文章目录 一、随机变量的定义和分类二、离散概率分布2.1 二项分布 (Binomial Distribution)2.2 伯努利分布 (Bernoulli Distribution)2.3 几何分布 (Geometric Distribution)2.4 负二项分布 (Negative Binomial Distribution)2.5 超几何分布 (Hypergeometric Distribution)2.6 …