Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1076397
  • 博文数量: 165
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1351
  • 用 户 组: 普通用户
  • 注册时间: 2016-03-11 14:13
个人简介

狂甩酷拽吊炸天

文章分类

全部博文(165)

文章存档

2024年(1)

2023年(1)

2022年(3)

2021年(4)

2020年(17)

2019年(37)

2018年(17)

2017年(35)

2016年(50)

分类: LINUX

2019-09-04 18:58:26

今天在安装kylin与superset过程中,遇到两个大坑,在下面的安装过程中有详细讲解。首先简单介绍一下这两个组件:

Superset 是一个数据探索和可视化平台,设计用来提供直观的,可视化的,交互式的分析体验。

Superset 提供了两种分析数据源的方式:

1. 用户可以以单表形式直接查询多种数据源,包括 Presto、Hive、Impala、SparkSQL、MySQL、Postgres、Oracle、Redshift、SQL Server、Druid 等。本文后续内容也会详细介绍Superset如何支持Kylin数据源。

2. 一个 SQL 的 IDE 供高级分析师使用 SQL 查询定义所需要分析的数据集,这种方法使用户在一个查询中实现用 Superset 查询数据源的多表,并立即对查询进行可视化分析。


kylin是一个OLAP的查询分析引擎,主要思想是预计算,号称可以达到毫秒甚至亚秒级的查询速度,
关于这两个组件详细信息,请自行移步至百度。

下面讲讲superset集成kylin中遇到的坑:

1. 安装 Apache Kylin

请参考 Apache Kylin installation guide:

2. Apache Kylin 提供了样例 Cube,方便大家学习使用。Kylin 启动成功后,可以在 Kylin 安装路径下运行以下命令生成样例数据 Cube:

         ./${KYLIN_HOME}/bin/sample.sh

运行后,使用默认的 Kylin 账号 ADMIN / KYLIN  登陆界面,在 System 页面点击 Reload Metadata 即可看到样例项目 Learn_kylin。


选择样例 Cube “Kylin_sales_cube”,点击 Action -> Build。选择日期不要晚于 2014-01-01 来进行全量构建。


点击前往 Monitor 页面查看 Cube 构建的进程,知道100%完成,Cube 就可以进行查询了。

前往 Insight 页面执行一个查询验证 Cube 能够返回结果。

select part_dt
sum(price) as total_selled

count(distinct seller_id) as sellers
from kylin_sales
group by part_dt
order by part_dt

查询会击中新构建的 Kylin_sales_cube。

3. 下面我们安装 Superset,并初始化。

强烈建议使用虚拟环境来安装所有的依赖包(virtualenv/virtualenvwrapper)

通过 PyPi 仓库安装 superset

pip install superset

创建初始超级用户: admin/admin

fabmanager create-admin –app superset    
然后让输入用户名及密码

使用默认 sqllite metadata,位于 $HOME/.superset/superset.db,并且根据 migrate 创建表结构

superset db upgrade

初始化 role 等

superset init

执行如上4条命令便可以在 POSIX 操作系统上部署 Superset,如想加载 Superset提供的例子数据,可以再执行

superset load_examples

4. 安装 kylinpy

pip install kylinpy

5. 安装验证,如果一切顺利,Superset daemon应该可以跑起来了

-d 选项可以打开 debug 模式 :superset runserver -d


但是,想象是美好的,现实是残酷的,在执行superset db upgrade过程会报各种版本不匹配,有的版本高了,有的版本低了,在这里,我把自己的虚拟环境的pip包及版本贴出来,这个是我自己验证好的,安装的时候,只需要进入虚拟环境,然后执行 pip install -t requirements.txt  就可以了,摆脱了解决各种报错的烦恼
requiments.txt


安装完成之后。添加kylin的数据源的时候,这里有一个big坑,如下图

  • SQLAlchemy URI 格式为:

kylin://:@:/

这里指定url的时候,必须使用ip。不能用hostname,即使我在我主机能pin通,甚至能访问,这里还是报错了(ERROR: {"error": "Connection failed!\n\nThe error message returned was:\n"}),改为ip就好了


顺利连接成功后,在添加表这里,也有一个big 坑




这里,模式必须大写,网上各种博客都截图的添加成功,但是唯独这里没有截图,刚开始我填的小写,各种导入不进来。

特此记录一下superset与kylin集成中遇到的两次big坑


阅读(12152) | 评论(3) | 转发(0) |
给主人留下些什么吧!~~

jelon5212019-12-02 17:51:53

yc18738337新_:博主,为什么下载你的txt文件是空的呢

还真是空的,我在我本地确实是有的,写博客上传上来就成空的了,不知道为啥,万一需要的话,私聊我发给你

回复 | 举报

yc18738337新_2019-11-26 12:03:41

博主,为什么下载你的txt文件是空的呢

yc18738337新_2019-11-26 12:03:36

博主,为什么下载你的txt文件是空的呢