superset连接kylin并附带使用案例

本文章主要介绍下superset连接kylin,最后再介绍下使用案例,superset官方文档没有任何介绍连接到kylin的文档,但GitHub中有多个kylin与superset的结合的开源插件,最终找到一款一直有人在维护更新的工具--kylinpy,另外一款是pykylin,坑太多没人维护,不推荐。

1. 安装kylinpy插件,连接kylin
进入linux python虚拟环境:在什么环境下装的superset,则在什么环境下装kylinpy
[root@xxx-8 bin]# source ~/venv/bin/activate
离线安装kylinpy
(venv) [root@xxx-8 bin]# git clone https://github.com/Kyligence/kylinpy.git
(venv) [root@xxx-8 bin]# pip install -e kylinpy
测试下:
(venv) [root@xxx-8 tmp]# kylinpy
Usage: kylinpy [OPTIONS] COMMAND [ARGS]...

Options:
-h, --host TEXT kylin/kap host name [required]
-P, --port INTEGER kylin/kap port, default: 7070
-u, --username TEXT kylin/kap username [required]
-p, --password TEXT kylin/kap password [required]
--project TEXT kylin/kap project [required]
--prefix TEXT kylin/kap RESTful prefix of url, default: /kylin/api
--debug / --no-debug show debug infomation
--api2 / --api1 API version; default is api1; --api1 used by KYLIN;
--api2 used by KAP
--help Show this message and exit.

Commands:
auth get user auth info
cube_columns list cube columns
cube_desc show cube description
cube_measures list cube metrics
cube_names list cube names
cube_sql get sample sql of cube, KAP only
cubes show cubes
model_desc show model description
projects list all projects
query sql query
table_columns list table columns
table_names list all table names
users list all users, need admin role, KAP only

安装成功, 详细使用,请参见 https://github.com/Kyligence/kylinpy.git

2. 创建superset kylin数据源
登录kylin查看project名称
http://192.168.xxx.xxx:7070/kylin页面可以登录kylin控制台 用户为:ADMIN 密码:KYLIN

project名称为:learn_kylin ( 创建kylin cube的文章请参见另外的博客


登录到superset,加载数据库信息


添加数据库,将kylin地址输入URI栏:



测试连接成功后,会出现该project下面对应的表,点击保存即可



3. 添加kylin表
数据源 -> 数据表 -> 添加新记录
KYLIN_ACCOUNT KYLIN_CAL_DT KYLIN_CATEGORY_GROUPINGS KYLIN_COUNTRY KYLIN_SALES 依次添加进去


4. 操作单表
点击进入一张表



点击查询,结果如下:



点击view query可查看SQL查询语句



点击左边的Visualization,可对查询结果进行可视化,这里可视化选择pie chart种类






5. 多表操作
使用SQL Lab查询Apache Kylin多表
熟悉Kylin的读者都知道,Kylin Cube通常都是以多表关联建模为基础生成的,因此分析Kylin Cube的数据时,使用多表进行查询对于Kylin来说是非常常见的场景。在使用Superset分析Kylin数据时,我们可以使用Superset中的SQL Lab功能来查询多表,并对其进行可视化分析。
在这里我们以一个可以击中Kylin中的sample cube ‘kylin_sales_cube’的查询为例。

对于新加入的数据源,在下拉框中找不到,需要用命令更新下数据源:
Refresh sqllab datasources cache
(venv) [root@xbn-cdh-8 bin]# superset update_datasources_cache
首次查询,数据源下的表可能不存在,重启下superset即可
ctrl + c 或者kill -9 杀掉superset 然后执行superset runserver

查询语句如下:
select YEAR_BEG_DT,
MONTH_BEG_DT,
WEEK_BEG_DT,
META_CATEG_NAME,
CATEG_LVL2_NAME,
CATEG_LVL3_NAME,
OPS_REGION,
NAME as BUYER_COUNTRY_NAME,
sum(PRICE) as GMV,
sum(ACCOUNT_BUYER_LEVEL) ACCOUNT_BUYER_LEVEL,
count(*) as CNT
from KYLIN_SALES
join KYLIN_CAL_DT
on CAL_DT=PART_DT
join KYLIN_CATEGORY_GROUPINGS
on SITE_ID=LSTG_SITE_ID 
and KYLIN_CATEGORY_GROUPINGS.LEAF_CATEG_ID=KYLIN_SALES.LEAF_CATEG_ID
join KYLIN_ACCOUNT
on ACCOUNT_ID=BUYER_ID
join KYLIN_COUNTRY
on ACCOUNT_COUNTRY=COUNTRY
group by YEAR_BEG_DT,
MONTH_BEG_DT,
WEEK_BEG_DT,
META_CATEG_NAME,
CATEG_LVL2_NAME,
CATEG_LVL3_NAME,
OPS_REGION,
NAME

可视化显示:




6. 保存
将查询结果保存为切片和看板,方便下次打开直接运行或直接查看图片
保存该查询



一个保存的查询结果就是一个切片(slice),可以将多个切片放到一个看板里,也可以放到新建的看板里



设置看板的横纵标题



更多操作详情,请参见博客:该博客中有些坑没描述清楚






  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值