开源项目是Pinot,Apache顶级项目,主要用于数仓OLAP的场景,它主要的特点是既支持离线数仓又支持实时数仓,可以让开发人员使用兼容SQL的方式联合查询离线存储和实时流式数据。在企业级数据应用场景中最终交付给用户的都是用BI报表的方式,这样开源的BI产品Superset就需要登场了,无论商业和开源的BI产品通常会使用数仓作为自己底层数据来源,并同时使用SQL语句降低开发门槛。当然使用Superset也可以直连Spark SQL或者Hive SQL类的Trino、Presto,甚至所谓湖仓一体的Databricks,但是由于一般的BI还是需要有Adhoc的查询的能力,对SQL语句返回的即时性要求很高,因此通常还是会用一个企业级数仓来进行支撑,这就是为什么使用了Pinot+Superset的组合来演示了。
需要一个Bash脚本的执行环境,并安装如下命令行工具,其中在这次代码中的Java需要编译和打包:
按照脚本命名的编号顺序执行,其中01脚本会部署基础架构,02和03可以设置好Pinot并启动Pinot的Console来进行即时查询,04和05会设置好Superset并启动Superset的Web页面。最后顺序执行97到99编号的脚本就可以清理所有的资源。