Apache Paimon | Flink引擎
本文介绍如何在 Flink 中使用 Paimon。
准备 Paimon Jar 文件
Paimon 目前支持 Flink 1.17、1.16、1.15 和 1.14。推荐使用最新的 Flink 版本以获得更好的体验。
下载对应版本的 jar 文件:
也可以选择从源代码手动构建 jar 文件。
要从源代码构建,需要先把代码克隆到本地,Github:https://github.com/apache/incubator-paimon.git。
然后使用以下命令构建:
| 1 | mvn clean install -DskipTests | 
构建成功后,可以在 ./paimon-flink/paimon-flink-<flink-version>/target/paimon-flink-<flink-version>-0.4.0-incubating.jar 中找到 jar 文件。
快速入门
1)下载 Flink
如果还没有下载 Flink,可以通过 https://flink.apache.org/downloads.html 下载,然后使用以下命令进行解压:
| 1 | tar -xzf flink-*.tgz | 
2)将 Paimon 的 jar 文件拷贝到 Flink 主目录的 lib 目录下
| 1 | cp paimon-flink-*.jar <FLINK_HOME>/lib/ | 
3)将 Hadoop 的 jar 文件拷贝到 Flink 主目录的 lib 目录下
如果机器处于 Hadoop 环境中,请确保环境变量 HADOOP_CLASSPATH 的值包括常用 Hadoop 库的路径,你不需要使用下面预装的 Hadoop jar 文件。
下载 Pre-bundled Hadoop jar 文件,并将该 jar 文件拷贝到 Flink 目录的 lib 目录下。
| 1 | cp flink-shaded-hadoop-2-uber-*.jar <FLINK_HOME>/lib/ | 
4)启动 Flink 本地集群
为了可以同时运行多个 Flink 作业,需要修改
| 1 | taskmanager.numberOfTaskSlots: 2 | 
运行 Flink 自带的 bash 脚本,启动本地集群:
| 1 | <FLINK_HOME>/bin/start-cluster.sh | 
在浏览器打开链接 http://localhost:8081/ 查看 Flink 仪表盘,可以看到集群已启动并正在运行。
启动 Flink SQL 客户端来执行 SQL 脚本:
| 1 | <FLINK_HOME>/bin/sql-client.sh | 
5)创建目录和表
依次执行以下 SQL 语句:
| 1 | -- if you're trying out Paimon in a distributed environment, | 
6)写入数据
依次执行以下 SQL 语句:
| 1 | -- create a word data generator table | 
7)OLAP 查询
依次执行以下 SQL:
| 1 | -- use tableau result mode | 
可以多执行几次上面的查询 SQL 语句,并观察结果的变化。
8)流式查询
| 1 | -- switch to streaming mode | 
9)退出
打开 Flink 仪表盘上正在运行作业列表上的作业,进入作业详情页面,点击 Cancel Job 按钮,取消作业。
执行以下 SQL 语句,退出 Flink SQL 客户端:
| 1 | -- uncomment the following line if you want to drop the dynamic table and clear the files | 
停止 Flink 本地集群:
| 1 | ./bin/stop-cluster.sh | 
支持的 Flink 数据类型
Flink 数据类型请参阅:https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/dev/table/types/。
支持所有 Flink 数据类型,除了
- 不支持 MULTISET 类型;
- 不支持将 MAP 作为主键。
(END)