paimon使用腾讯云cosn作为仓库存储的使用方式

背景

paimon是flink推出的高性能流式数据湖平台,我们在业务应用中选型了paimon作为数据湖的落地框架。对象存储(Cloud Object Storage,COS)是腾讯云提供的一种存储海量文件的分布式存储服务,用户可通过网络随时存储和查看数据。

我们在大数据存储使用的是腾讯云的cosn对象存储,因此我们需要两者进行结合使用,让cosn作为paimon的存储仓库。

paimon的使用

我们需要用java对paimon进行基本的DDL操作,例如创建数据库,创建数据表等等。根据paimon的官方要求,我们得先构建catalog。

先引入paimon的依赖包

复制代码
<dependency>
  <groupId>org.apache.paimon</groupId>
  <artifactId>paimon-bundle</artifactId>
  <version>1.1-SNAPSHOT</version>
</dependency>
<dependency>
  <groupId>org.apache.paimon</groupId>
  <artifactId>paimon-flink-common</artifactId>
  <version>1.0.0</version>
</dependency>

paimon可以构建2种catalog,一种路径catalog只需要仓库路径,如下:

复制代码
    public static Catalog createFilesystemCatalog() {
        CatalogContext context = CatalogContext.create(new Path("..."));
        return CatalogFactory.createCatalog(context);
    }

另一种catalog,叫做hivecatalog则需要hive的信息和hdfs的信息,如下:

复制代码
    public static Catalog createHiveCatalog() {
        // Paimon Hive catalog relies on Hive jars
        // You should add hive classpath or hive bundled jar.
        Options options = new Options();
        options.set("warehouse", "...");
        options.set("metastore", "hive");
        options.set("uri", "...");
        options.set("hive-conf-dir", "...");
        options.set("hadoop-conf-dir", "...");
        CatalogContext context = CatalogContext.create(options);
        return CatalogFactory.createCatalog(context);
    }

普通存储catalog所创建的元数据信息只存在表的存储路径下,因为使用spark等一些计算引擎会找不到表,所以我们选用的是hivecatalog来创建paimon表。

结合cosn

我们创建hivecatalog时,catalog的warehouse使用的是cosn路径,结果出现如下错误:

那是因为我们还没引入cosn配置。先加入cosn的依赖包,如下:

复制代码
    <dependency>
      <groupId>com.qcloud.cos</groupId>
      <artifactId>hadoop-cos</artifactId>
      <version>3.1.0-8.2.4</version>
    </dependency>
    <dependency>
      <groupId>com.qcloud</groupId>
      <artifactId>cos_api</artifactId>
      <version>5.6.112</version>
    </dependency>

再确保hivecatalog的hadoop-conf-dir参数路径下有hdfs-site.xml,core-site.xml 2个配置文件,并且配置文件根据cosn的hadoop配置 进行配置cosn的各个参数,如下:

再进行使用便能成功创建paimon表了。

总结

paimon创建catalog的warehouse默认走的是hdfs协议,并通过hadoop-conf-dir目录下的配置文件进行适配,配置cosn路径经过测验没有问题,其他同学有空可以试试oss,obs等。

相关推荐
Halo_tjn几秒前
Java 相关资料
java·开发语言·计算机
Slow菜鸟8 分钟前
Java开发规范(十一)| 数据全生命周期治理规范—Java应用的“数据资产化手册”
java·servlet·oracle
丸码28 分钟前
Java异常体系全解析
java·开发语言
v***885629 分钟前
Springboot项目:使用MockMvc测试get和post接口(含单个和多个请求参数场景)
java·spring boot·后端
q***494529 分钟前
Ubuntu介绍、与centos的区别、基于VMware安装Ubuntu Server 22.04、配置远程连接、安装jdk+Tomcat
java·ubuntu·centos
IMPYLH35 分钟前
Lua 的 require 函数
java·开发语言·笔记·后端·junit·lua
曾经的三心草37 分钟前
基于正倒排索引的Java文档搜索引擎1-实现索引模块-实现Parser类
java·开发语言·搜索引擎
vx_bscxy3221 小时前
告别毕设焦虑!Python 爬虫 + Java 系统 + 数据大屏,含详细开发文档 基于web的图书管理系统74010 (上万套实战教程,赠送源码)
java·前端·课程设计
Hello.Reader1 小时前
在 YARN 上跑 Flink CDC从 Session 到 Yarn Application 的完整实践
大数据·flink
Learn Beyond Limits1 小时前
Data Preprocessing|数据预处理
大数据·人工智能·python·ai·数据挖掘·数据处理