以csv为源 flink 创建paimon 临时表相关 join 操作

2023-12-15 23:45

本文主要是介绍以csv为源 flink 创建paimon 临时表相关 join 操作,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 概述
  • 配置
    • 关键配置
    • 测试
      • 启动 kyuubi
      • 执行配置中的命令
  • bug解决
    • bug01
    • bug02
  • 结束

概述

目标:生产中有需要外部源数据做paimon的数据源,生成临时表,以使用与现有正式表做相关统计及 join 操作。

环境:各组件版本如下

  • kyuubi 1.8.0
  • flink 1.17.1
  • paimon 0.5 正式版本
  • hive 3.1.3

阅读此文前,需涉及前置的知识点如下

  • kyuubi整合flink yarn application model

配置

概述:临时表 paimon 此版本仅 Flink支持。与外部表一样,临时表只是记录的,而不是由当前Flink SQL会话管理的。如果删除临时表,则不会删除其资源。当 Flink SQL 会话关闭时,临时表也会被丢弃。

如果您想将 Paimon catalog与其他表一起使用,但不想将它们存储在其他的 catalog 中,可以创建一个临时表。下面的关键配置 Flink SQL 创建了一个 Paimon catalog 和一个临时表,并进行了测试。

关键配置

来看一些关键配置,其它配置如有疑问,请参考 kyuubi整合flink yarn application model

CREATE CATALOG paimon_hive WITH ('type' = 'paimon','metastore' = 'hive','uri' = 'thrift://10.xx.xx.22:9083','warehouse' = 'hdfs:///data/hive/warehouse/paimon','default-database'='tmp'
);CREATE TEMPORARY TABLE test (UnitId STRING,WorkOrder STRING
) WITH ('connector' = 'filesystem','path' = 'hdfs:///data/hive/warehouse/tmp/Small.csv','format' = 'csv'
);SET execution.runtime-mode=batch;select * from test;

使用的 csv 文件如下,学习时,可以自己创建测试内容
在这里插入图片描述

测试

启动 kyuubi

在这里插入图片描述

执行配置中的命令

执行配置中的命令,几条命令依次执行如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

bug解决

坑随时都有,下面解决一下测试过程的bug。

bug01

来图如下:
在这里插入图片描述
一看缺失类,老套路,看看是哪个包下的,添加至 flink 1.17.1 下面的 lib 下。
在这里插入图片描述

bug02

重新启动时,报有重复类,冲突了

这个以前解决过,直接上解决方案。如下图:
在这里插入图片描述
这两个解决之后,就按上文中 测试 流程走就可以了。

结束

以csv为源 flink 创建paimon 临时表相关 join 操作 ,至此就结束了。如有疑问,欢迎评论区留言。

这篇关于以csv为源 flink 创建paimon 临时表相关 join 操作的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/498343

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Android 悬浮窗开发示例((动态权限请求 | 前台服务和通知 | 悬浮窗创建 )

《Android悬浮窗开发示例((动态权限请求|前台服务和通知|悬浮窗创建)》本文介绍了Android悬浮窗的实现效果,包括动态权限请求、前台服务和通知的使用,悬浮窗权限需要动态申请并引导... 目录一、悬浮窗 动态权限请求1、动态请求权限2、悬浮窗权限说明3、检查动态权限4、申请动态权限5、权限设置完毕后

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Python创建Excel的4种方式小结

《Python创建Excel的4种方式小结》这篇文章主要为大家详细介绍了Python中创建Excel的4种常见方式,文中的示例代码简洁易懂,具有一定的参考价值,感兴趣的小伙伴可以学习一下... 目录库的安装代码1——pandas代码2——openpyxl代码3——xlsxwriterwww.cppcns.c

轻松上手MYSQL之JSON函数实现高效数据查询与操作

《轻松上手MYSQL之JSON函数实现高效数据查询与操作》:本文主要介绍轻松上手MYSQL之JSON函数实现高效数据查询与操作的相关资料,MySQL提供了多个JSON函数,用于处理和查询JSON数... 目录一、jsON_EXTRACT 提取指定数据二、JSON_UNQUOTE 取消双引号三、JSON_KE

C++实现封装的顺序表的操作与实践

《C++实现封装的顺序表的操作与实践》在程序设计中,顺序表是一种常见的线性数据结构,通常用于存储具有固定顺序的元素,与链表不同,顺序表中的元素是连续存储的,因此访问速度较快,但插入和删除操作的效率可能... 目录一、顺序表的基本概念二、顺序表类的设计1. 顺序表类的成员变量2. 构造函数和析构函数三、顺序表

使用C++实现单链表的操作与实践

《使用C++实现单链表的操作与实践》在程序设计中,链表是一种常见的数据结构,特别是在动态数据管理、频繁插入和删除元素的场景中,链表相比于数组,具有更高的灵活性和高效性,尤其是在需要频繁修改数据结构的应... 目录一、单链表的基本概念二、单链表类的设计1. 节点的定义2. 链表的类定义三、单链表的操作实现四、

使用Python在Excel中创建和取消数据分组

《使用Python在Excel中创建和取消数据分组》Excel中的分组是一种通过添加层级结构将相邻行或列组织在一起的功能,当分组完成后,用户可以通过折叠或展开数据组来简化数据视图,这篇博客将介绍如何使... 目录引言使用工具python在Excel中创建行和列分组Python在Excel中创建嵌套分组Pyt

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from