首页 > 其他分享 >聊聊流式数据湖Paimon(五)

聊聊流式数据湖Paimon(五)

时间:2023-12-29 09:36:34浏览次数:29  
标签:Flink flink 流式 version 聊聊 apache org Paimon log4j

从Demo入手,了解Paimon/Flink项目搭建的全过程。记录下采坑之旅。

创建Flink项目

在IDEA中创建Flink项目,由于没有Flink的archetype,因此需要手动创建一下。
参考:idea快速创建flink项目,至此Flink的项目框架就搭建起来了。
注意:必须注释掉pom文件中的provided;否则运行时会报错:
Error: A JNI error has occurred, please check your installation and try again
image.png

搭建Flink伪集群

Flink包地址 中,选择对应的版本,下载文件image.png
解压后,其文件内容,如下
image.png
在bin目录下,运行start-cluster.bat脚本即可。打开浏览器访问:localhost:8081,就可以查看Flink的webui
image.png

高版本的Flink中已经没有bat脚本,可参考 flink新版本无bat启动文件的解决办法

补充缺失的依赖

Flink的框架搭建好之后,参考 新一代数据湖存储技术Apache Paimon入门Demo 写一个简单的Paimon程序。但在这个过程中,必须补充 缺失的POM依赖。而这些依赖在编译时并不会报错,一旦运行,各种各样的抛错:
java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration
Unable to create catalog xxx
Unsupported SQL query! executeSql()
如下是所有需要的pom依赖:

<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-streaming-java</artifactId>
  <version>${flink.version}</version>
  <!--			<scope>provided</scope>-->
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-clients</artifactId>
  <version>${flink.version}</version>
  <!--			<scope>provided</scope>-->
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-api-java-bridge</artifactId>
  <version>1.18.0</version>
</dependency>
<dependency>
  <groupId>org.apache.paimon</groupId>
  <artifactId>paimon-flink-1.18</artifactId>
  <version>0.6.0-incubating</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-planner-loader</artifactId>
  <version>${flink.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-table-runtime</artifactId>
  <version>1.18.0</version>
</dependency>
<dependency>
  <groupId>org.apache.flink</groupId>
  <artifactId>flink-connector-base</artifactId>
  <version>${flink.version}</version>
</dependency>

<!-- Add connector dependencies here. They must be in the default scope (compile). -->

<!-- Example:

<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-connector-kafka</artifactId>
<version>3.0.0-1.17</version>
</dependency>
-->

<!-- Add logging framework, to produce console output when running in the IDE. -->
<!-- These dependencies are excluded from the application JAR by default. -->
<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-slf4j-impl</artifactId>
  <version>${log4j.version}</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-api</artifactId>
  <version>${log4j.version}</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.apache.logging.log4j</groupId>
  <artifactId>log4j-core</artifactId>
  <version>${log4j.version}</version>
  <scope>runtime</scope>
</dependency>
<dependency>
  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-common</artifactId>
  <version>3.2.3</version>
</dependency>
<dependency>
  <groupId>org.apache.hadoop</groupId>
  <artifactId>hadoop-hdfs-client</artifactId>
  <version>3.2.3</version>
</dependency>

标签:Flink,flink,流式,version,聊聊,apache,org,Paimon,log4j
From: https://www.cnblogs.com/zhiyong-ITNote/p/17934040.html

相关文章

  • 聊聊流式数据湖Paimon(四)
    PartialUpdate数据打宽通过不同的流写不同的字段,打宽了数据的维度,填充了数据内容;如下所示:--FlinkSQL参数设置set`table.dynamic-table-options.enabled`=`true`;SET`env.state.backend`=`rocksdb`;SET`execution.checkpointing.interval`=`60000`;......
  • 记录--聊聊图片预加载
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助聊聊图片预加载关于图片的加载,不同的需求有不同的实现,比如图片过多时候的懒加载,为了保证效果的预加载。如何进行图片的预加载前端实现图片的预加载,其实是利用了浏览器的缓存,我们通过a标签来提前加载图片,如下:......
  • 聊聊流式数据湖Paimon(三)
    概述如果表没有定义主键,则默认情况下它是仅追加表类型(AppendOnlyTable)。根据桶(Bucket)的定义,我们有两种不同的仅追加模式:"AppendForScalableTable"和"AppendForQueue";两种模式支持不同的场景,提供不同的功能。只能向表中插入一条完整的记录。不支持删除或更新,并且不......
  • 聊聊流式数据湖Paimon(二)
    当前的问题ApachePaimon最典型的场景是解决了CDC(ChangeDataCapture)数据的入湖;CDC数据来自数据库。一般来说,分析需求是不会直接查询数据库的。容易对业务造成影响,一般分析需求会查询全表,这可能导致数据库负载过高,影响业务分析性能不太好,业务数据库一般不是列存,查询部......
  • 聊聊流式数据湖Paimon(一)
    翻译自ApachePaimon官方文档概览概述ApachePaimon(incubating)是一项流式数据湖存储技术,可以为用户提供高吞吐、低延迟的数据摄入、流式订阅以及实时查询能力。简单来说,Paimon的上游是各个CDC,即changlog数据流;而其自身支持实时sink与search(下沉与查询)changlog数据流......
  • 基于 Flink SQL 和 Paimon 构建流式湖仓新方案
    本文整理自阿里云智能开源表存储负责人,FounderofPaimon,FlinkPMC成员李劲松在云栖大会开源大数据专场的分享。本篇内容主要分为三部分:数据分析架构演进介绍ApachePaimonFlink+Paimon流式湖仓一、数据分析架构演进目前,数据分析架构正在从Hive到Lakehouse的演变。传统数......
  • 聊聊Flink必知必会(七)
    WhatisState虽然数据流中的许多操作一次只查看一个单独的事件(例如事件解析器),但某些操作会记住多个事件的信息(例如窗口算子)。这些操作称为有状态的(stateful)。有状态操作的一些示例:当应用程序搜索某些事件模式(eventpatterns)时,状态(state)将存储迄今为止遇到的事件序列。......
  • 聊聊Flink必知必会(六)
    Flink是一个分布式系统,需要有效地分配和管理计算资源才能执行流应用程序。它集成了所有常见的集群资源管理器,如HadoopYARN和Kubernetes,但也可以设置为作为一个独立的集群运行,甚至作为一个库。Flink集群的剖析Flink运行时由两种类型的进程组成:一个JobManager和一个或多个taskma......
  • 【流式传输】使用Spring Boot实现ChatGpt流式传输
    引言在ChatGpt火了这么久,他的那种单字单字返回的格式可能让很多朋友感到好奇,在之前我用c#写了一个版本的,同时支持IAsyncEnumerable以及SSE,今天把之前写的Java版本的也发出来,和大家一起学习,有不对的地方,欢迎各位大佬指正。Code我这边用的是JDK21版本,可以看到下......
  • 聊聊如何实现热插拔AOP
    前言之前偶然看到一篇文章利用aop实现热拔插(类似于插件),里面的实现挺好玩。今天我们也来玩一把前置知识Advice:org.aopalliance.aop.Advice“通知”,表示Aspect在特定的Joinpoint采取的操作。包括“around”,“before”and“after等Advice,大体上分为了三类:Befor......