在上一篇文章《Apache Paimon系列(四)使用Dinky编写Paimon的案例》我们介绍了dinky上编写paimon作业,在文章的最后我们可以看到dinky上无法显示paimon中查询出来的数据,所以这块的话对我们来说算是一个比较小的阻碍,因为在开发的过程中,我们经常需要使用数据查询来查看校验开发的是否是对的。所以这里的话我们介绍下这块如何查询paimon中的数据。
既然dinky中查询不出来paimon的数据,那么我们就需要使用到flink原始的这个sql-client脚本,本文我们来演示一下:
1)进入到sql-client执行环境
这里我们登录服务器,然后在flink的bin目录下找到sql-client.sh这个文件,然后执行进入
./sql-client.sh
2)查看多数据源目录
这里我们首先查看下所有的catalog
show catalogs;
执行完毕之后,我们可以看到只有一个默认的default_catalog
到这里大家可能就郁闷了,paimon是执行在当前的flink环境中的,为什么这里看不到我们的paimon多数据源目录呢?
其实这里我们又回到多数据源目录的概念,在大数据领域,所有的多数据源目录都是外部表,这些外部表是需要注册到我们的环境中来,才可以看到的。所以这里我们在当前的flink sql session中是看不到paimon多数据源目录的,既然我们想要在当前的session中查询paimon数据,就需要注册多数据源目录。
3)注册paimon多数据源目录
这里的注册我们其实已经在上一篇文章里面介绍到了,使用如下的sql进行注册:
CREATE CATALOG paimon_catalog WITH ( 'type'='paimon', 'warehouse'='hdfs://192.168.31.218:8020/tmp/paimon' );
当我们执行完此sql之后,paimon的多数据源目录就已经注册到当前的flink sql session中了。然后我们继续show一下看看当前session可以查哪些多数据源目录:
show catalogs;
此时我们就可以看到这里的paimon对应的多数据源目录了。
4)使用paimon多数据源目录
我们需要查询paimon中的数据,所以这里我们需要使用刚才注册的paimon多数据源目录,执行下面的sql:
use catalog paimon_catalog;
使用之后,我们这个多数据源目录下创建的数据库和表都可以看到了,如下图:
5)查询数据
这里已经把paimon中的数据加载进来了,然后我们就可以查询这里word_count的数据了,执行sql:
select * from word_count
执行之后,这里就可以看到paimon中的数据了:
以上就是我们使用flink table sql查询paimon中的数据的案例。
备注:
1、paimon是一个比较好,看起来比较直观的数据湖框架,目前和flink集成的比较好,相信在后续的发展中会越来越好。
还没有评论,来说两句吧...