公司的olap用的cubes+mysql,性能有点落后了,所以最近研究一下kylin
参考有赞的这篇文章:
https://tech.youzan.com/kylin-mondrian-saiku/
原理看一下上面的文章,主要记录一下整合的步骤
首先部署好kylin,具体步骤后续补充。
下载saiku最新版,解压。
github上已经有一个整合Kylin,Mondrian以及Saiku的项目(作者mustangore):
https://github.com/mustangore/kylin-mondrian-interaction
项目中有步骤,不过是英文的,解释一下:
1. 进入saiku下目录: $SAIKU_HOME/tomcat/webapps/saiku/WEB-INF/lib/
2. 在当前目录加入kylin-jdbc.jar(在kylin的路径下,/lib里面),
加入Mondrian 4.4 jar with Kylin dialect(在刚才github项目中/mondrian下),
加入新的Commons HTTPClient jar(在刚才的github项目中/saiku/commons-httpclient-3.1.jar),
删除旧的Mondrian jar和Commons HTTPClient jar
3. 启动Saiku (_sh start-saiku.sh_)
4. 访问 http://saiku-server:8080/
* 用户名: admin
* 密码: admin
5. 第一次登录之前需要license认证,认证具体过程:
1、https://licensing.meteorite.bi/login 注册账号登录。
2、创建公司记录。
3、创建license。
4、将license下载到本地。
5、 http://saiku-server:8080/upload.html 将 下载的license文件上传。上传完毕之后即可登录。
如图:
<?xml version="1.0"?>
<Schema name="ad_schema">
<Cube name="lxw1234_ad_cube2">
<!-- 事实表(fact table) -->
<Table name="AD_REPORT" />
<Dimension name="地域">
<Hierarchy hasAll="false">
<Table name="AD_REPORT"></Table>
<Level name="省份" column="PROVINCE" table="AD_REPORT"></Level>
<Level name="城市" column="CITY" table="AD_REPORT"/>
</Hierarchy>
</Dimension>
<Measure name="曝光数" column="IMP_PV" aggregator="sum" datatype="Integer" />
<Measure name="唯一曝光数" column="COOKIEID_IMP" aggregator="distinct-count" datatype="Integer" />
<Measure name="点击数" column="CLK_PV" aggregator="sum" datatype="Integer" />
<Measure name="唯一点击数" column="COOKIEID_CLK" aggregator="distinct-count" datatype="Integer" />
</Cube>
</Schema>
进入Saiku管理控制台,点击”Add Schema”,将编写好Schema文件上传。
接着点击”Add Data Source”,添加数据源:
回到Saiku Home主页,点击”Create a new query”,创建查询:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。