如果觉得项目不错欢迎前去点下 Star, 感谢您的支持!
Docker快速部署dinky
h2数据库无需安装,开箱即用,仅适合快速体验,重启后数据消失,如要正式使用,请切换为mysql
docker run --restart=always -p 8888:8888 \
-v /opt/lib:/opt/dinky/customJar/ \
--name dinky \
dinkydocker/dinky-standalone-server:1.1.0-flink1.19
这里我们外挂了一个
/opt/lib目录,这是专门用来放依赖的,后面我们下载的paimon和hadoop依赖都放到这个目录下面
hadoop部署
hadoop部署比较麻烦,这里就不展示了,相信看到这个文章的人肯定都有自己的hadoop环境了(❁´◡`❁)
准备依赖
hadoop的shade包 flink-shaded-hadoop-3-uber-3.1.1.7.2.9.0-173-9.0.jar Paimon flink 1.19的依赖包,如果你不是1.19,请自行替换 paimon-flink-1.19-0.9.0.jar
上述依赖下载完成后,放到dinky的依赖目录下(dinky/extends 或者 docker部署的customJar下面)
初始化paimon表
如果你已经有paimon库了,可以略过此步骤
dinky新建Flink Sql任务,写入一下代码
CREATE CATALOG my_catalog WITH (
'type' = 'paimon',
-- 这里更改为你的hdfs地址
'warehouse' = 'hdfs://namenode:8020/data/paimon/',
-- 这里更改为你的hadoop配置路径
'hadoop-conf-dir' = '/opt/data/hadoop/conf'
);
use catalog my_catalog;
CREATE TABLE my_table_1 (
user_id BIGINT,
item_id BIGINT,
behavior STRING,
dt STRING,
hh STRING,
PRIMARY KEY (dt, hh, user_id) NOT ENFORCED
) PARTITIONED BY (dt, hh);
点击检查,(虽然是检查,但是Dinky在检查过程中会执行DDL语句)
检查成功,去HDFS上面看一眼表是不是建立了,(可以看到hdfs上面已经有表了)
hdfs dfs -ls /data/paimon/default.db/
drwxr-xr-x - root supergroup 0 2024-09-26 16:12 /data/paimon/default.db/my_table
drwxr-xr-x - root supergroup 0 2024-09-26 14:49 /data/paimon/default.db/my_table_1
/opt/data/hive/conf
注册Paimon数据源
前往注册中心-->数据源,新建数据源,选择paimon
注意:虽然1.1版本HDFS选项被禁用了,但是没有影响,paimon只需要传参就能用,并无特殊逻辑配置,所以我们这里选择local,然后如图填写自定义相关配置
warehouse 参数: 表示数据在HDFS上面的存储路径,和我们上面sql里设置的一样即可
hive-conf-dir 参数: 本地hadoop配置路径
点击测试,没问题后保存。
查看Paimon元数据
在数据开发页面左侧点击数据源,下拉列表选择我们刚刚建立的paimon数据源
选择对应的表,即可看见元数据啦!
能看到非常多的内容,再也不用在sql cli内敲命令了!╰(°▽°)╯
S3/OSS/COS/OBS 上面的paimon
首先 S3/OSS/COS/OBS 都是兼容S3协议的,所以我们只需要创建时候选择S3类型就可以啦。
如上图所示,只需要填写相关配置,其余操作都一样。
读取Hive上的Paimon数据
其余操作都一样,数据源需要做如下修改:
| 参数 | 说明 | 示例 |
|---|---|---|
| warehouse | hive的存储路径 | hdfs://namenode:8020/hive/warehouse |
| metastore | 指定元数据为hive | hive |
| hive-conf-dir | Hive配置文件路径 | /opt/data/hive/conf |
| hadoop-conf-dir | Hadoop配置文件路径 | /opt/data/hadoop/conf |
关于数据源还有很多其他玩法,可以查看我的另一篇文章
Dinky教程- 数据源那些你不知道的功能Dinky数据源教程介绍了如何配置和使用数据源,包括Flink连接配置和Fli - 掘金 (juejin.cn)