【Apache Paimon】-- 4 -- Flink 消费 kafka 数据,然后写入 paimon
目录
1、本地开发环境
2、kafka2paimon 实现流程
3、代码实现
3.1、项目名称
3.2、项目结构
3.3、Pom.xml 和 log4j.properties 文件
3.4、代码核心类
3.4.1、入口类:Kafka2PaimonDemo.java
3.4.2、参数解析类
3.4.2.1、JobParameterUtil.java( flink job scheduler )
3.4.2.2、KafkaSourceParametersUtil.java(kafka source 参数)
3.4.2.3、OSSParametersUtils.java (oss 参数)
3.4.2.4、PaimonCatalogParameterUtils.java(paimon catalog 参数)
3.4.2.5、PaimonTableParameterUtils.java (paimon table 参数)
3.4.3、flink table env 类:FlinkTableInitUtils.java
3.4.4、配置类
3.4.4.1、DefaultConnectorVal.java
3.4.4.2、DefaultFlinkConfigVal.java
3.4.4.3、ParameterConfigs.java
3.4.4.4、PropertiesConstants.java
3.4.5、bean类
3.4.5.1、PaimonFileSystemCatalogInfo.java
3.4.5.2、JobSchedulerInfo.java
3.4.5.3、OSSGlobalVar.java
3.4.5.4、OSSInfo.java
3.4.5.5、PaimonPrimaryKeyTableSinkInfo.java
3.4.5.6、KafkaSourceInfo.java
3.4.6、重写 OSSFileSystemFactory.java
3.5、运行核心类的步骤
3.5.1、通过本地 kafka shell 生产数据到 topic:test_paimon中
编辑
3.5.2、编辑 main class 的 args
3.5.3、创建 oss bucket:flink-namespace
3.5.4、运行 Kafka2PaimonDemo.java,本地访问 flink web-ui
4、查询 oss 结果
4.1 paimon 表
4.2 flink checkpoint/savepoint 存储
5、参考
1、本地开发环境
Mac OS 10.15.6
Oracle Jdk 11
Scala 2.12.17
Intellij Idea 2023.1
阿里云 OSS
scala 包和 jdk 包下载:
链接:https://pan.baidu.com/s/1HSkoUmzpbFcTx3aB9wte6w?pwd=81jc
提取码: 81jc
maven pom 核心依赖包:
<apache.flink.version>1.19.1</apache.flink.version>
<apache.paimon.version>0.9.0</apache.paimon.version>
<flink-kafka.version>3.3.0-1.19</flink-kafka.version>
<aliyun.oss.version>3.17.2</aliyun.oss.version>
<fs.hadoopshaded.version>3.3.0</fs.hadoopshaded.version>
<fastjson.version>1.2.83</fastjson.versi相关文章:
【Apache Paimon】-- 4 -- Flink 消费 kafka 数据,然后写入 paimon
目录 1、本地开发环境 2、kafka2paimon 实现流程 3、代码实现 3.1、项目名称 3.2、项目结构 3.3、Pom.xml 和 log4j.properties 文件 3.4、代码核心类 3.4.1、入口类:Kafka2PaimonDemo.java 3.4.2、参数解析类 3.4.2.1、JobParameterUtil.java( flink job schedule…...
【成功解决】:VS2019(Visual Studio 2019)遇到E2870问题:此配置中不支持 128 位浮点类型
起因:项目中需要用json来操作数据,就引了cJSON库(cJSON.h和cJSON.c文件),但是发现编译报错如下 E2870 此配置中不支持 128 位浮点类型 test0 ...\usr\include\x86_64-linux-gnu\bits\floatn.h 75 然后先新建了个工程来检查问题(甚至在这之前还以为是cjson…...
什么是TCP的三次握手?
TCP的三次握手:深入理解建立可靠连接的过程 引言 在计算机网络中,传输控制协议(TCP)是确保数据可靠传输的核心协议之一。TCP通过三次握手机制来建立一个稳定的、双向的连接,这对于确保数据的完整性和顺序至关重要。本…...
SQL教程(2):SQL基础语法及用途
在上一篇文章中,我们介绍了 SQL(结构化查询语言)的基本概念,以及它在用户研究中的重要作用。今天,我们将深入了解 SQL 的基本语法,并通过实际应用场景帮助你更好地理解如何使用 SQL 提取和分析数据。对于刚…...
在Ubuntu22.04 jammy下用qemu模型riscv32环境装鸿蒙(待续)
在使用实体ESP32C3 安装鸿蒙失败后,就是这个:完全按照手册win10里装Ubuntu 虚拟机然后编译ESP32(主要是想针对ESP32C3和S3)开发板的鸿蒙系统(失败)-CSDN博客转向用qemu模拟环境装鸿蒙 学习手册riscv32_virt/README_zh.md OpenHar…...
C++:基本-union是没有构造函数和析构函数的
今天发现当我在union中包含了多个结构体时,结构体有默认构造函数时,编译报错。 问题点: union不支持构造函数和析构函数union中的元素本身也是不支持构造函数和析构函数的。包含union的结构体也不支持构造函数和析构函数。 出错代码如下&a…...
报错 JSON.parse: expected property name or ‘}‘,JSON数据中对象的key值不为字符串
报错 JSON.parse: expected property name or ‘}’ 原因 多是因为数据转换时出错,可能是存在单引号或者对象key值不为string导致 这里记录下我遇见的问题(后端给的JSON数据里,对象key值不为string) 现在后端转换JSON数据大多…...
LeetCode 热题 100_旋转图像(20_48_中等_C++)(原地旋转;翻转)
LeetCode 热题 100_旋转图像(20_48) 题目描述:输入输出样例:题解:解题思路:思路一(原地旋转):思路二(翻转): 代码实现(思路…...
mysql查询所有用户及删除用户
查询用户 select user, host, password_expired from mysql.user;删除用户 DROP USER [username]localhost ;刷新权限 FLUSH PRIVILEGES;查询所有用户/账号设置/日志/开启日志 select user,host,password_expired,password_last_changed,password_li…...
Vue 鼠标滚轮缩放图片的实现
wheel"handleZoom" 监听鼠标滚轮事件 event.deltaY < 0 代表向上滚动 event.deltaY > 0 代表向下滚动 使用computed处理scale比例的变化 const imageStyle computed(() > ({ transform: translate(-50%, -50%…...
全景图 与 6面图转换
目录 全景图转6面图: 6面图转全景图 全景图转6面图: https://github.com/springcheese/panoramic_to_cubemap_generation # Necessary Imports import math import argparse import numpy as np from PIL import Image# Dictionary for CUBEMAP FACES…...
深入浅出:PHP 文件操作
文章目录 引言文件的基本操作打开文件读取文件逐行读取读取整个文件 写入文件追加写入覆盖写入 关闭文件 文件和目录的管理检查文件或目录是否存在创建和删除文件创建和删除目录复制和移动文件 处理文件权限设置文件权限获取文件权限 处理文件属性获取文件大小获取文件最后修改…...
116. UE5 GAS RPG 实现击杀掉落战利品功能
这一篇,我们实现敌人被击败后,掉落战利品的功能。首先,我们将创建一个新的结构体,用于定义掉落体的内容,方便我们设置掉落物。然后,我们实现敌人死亡时的掉落函数,并在蓝图里实现对应的逻辑&…...
【批处理脚本】更改Windows系统中的 hosts 解析文件
概述 作用 修改 Windows 系统中的 hosts 文件,可以实现 插入 或 删除 条目。该脚本允许用户以管理员权限执行,将特定的域名解析到指定的 IP 地址 应用场景 非常适用于需要频繁或批量修改 hosts 文件的场景: 屏蔽网站、域名重定向、DNS 污染防…...
fastDFS
docker 部署fastDFS docker pull delron/fastdfs docker-compose.yml version: 3services:fastdfs_tracker:image: delron/fastdfs:latestcontainer_name: trackerhostname: trackernetwork_mode: hostports:- "22122:22122"volumes:- ./data/tracker:/var/fdfsco…...
【Linux】存储
声明:以下内容均来学习自《Linux就该这么学》一书 Linux系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。此外,Linux系统中的…...
hadoop单机安装
步骤 1:安装 Java 安装 OpenJDK bash sudo yum install -y java-1.8.0-openjdk 验证 Java 安装 bash java -version 输出类似以下内容表示成功: arduino openjdk version “1.8.0_xxx” 步骤 2:下载 Hadoop 下载 Hadoop 安装包 前往 Hadoop 官方下载页面,获取最新稳…...
产品批量分类设置——未来之窗行业应用跨平台架构
一、批量统计分类 提高效率 节省时间:当商品数量庞大时,手动逐个修改商品分类是一项极其耗时的任务。例如,一个电商平台有数千种商品,如果手动操作,可能需要花费数天甚至数周的时间来完成分类转移。而批量设置功能可以…...
2024年中国各省份碳相关投资分析:区域差异与未来趋势
随着中国“双碳”目标的推进,各省份的碳相关投资逐渐成为推动绿色经济转型的关键力量。2024年,各地的双碳项目进入了快速发展阶段,尤其是在清洁能源、绿色技术和碳捕集领域。本文将分析中国各省份在碳减排、碳中和目标实现过程中的投资重点和…...
【六足机器人】03步态算法
温馨提示:此部分内容需要较强的数学能力,包括但不限于矩阵运算、坐标变换、数学几何。 一、数学知识 1.1 正逆运动学(几何法) 逆运动学解算函数 // 逆运动学-->计算出三个角度 void inverse_caculate(double x, double y, …...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
C++初阶-list的底层
目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...
day52 ResNet18 CBAM
在深度学习的旅程中,我们不断探索如何提升模型的性能。今天,我将分享我在 ResNet18 模型中插入 CBAM(Convolutional Block Attention Module)模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地
借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
初学 pytest 记录
安装 pip install pytest用例可以是函数也可以是类中的方法 def test_func():print()class TestAdd: # def __init__(self): 在 pytest 中不可以使用__init__方法 # self.cc 12345 pytest.mark.api def test_str(self):res add(1, 2)assert res 12def test_int(self):r…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
iview框架主题色的应用
1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题,无需引入,直接可…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
