Kylin系列-Apache Kylin中使用Streaming Table构建准实时Cube
来源:互联网 发布:linux gpio 编辑:程序博客网 时间:2024/06/05 11:58
关键字:kylin、streaming table
Kylin从1.5版本开始,引入了Streaming Table,目的是为了减低OLAP分析的延时(比如Druid、ElasticSearch都支持实时数据流)。
Streaming Table周期性的从Kafka中读取数据,根据Model和Cube的定义,将计算好的数据写入HBase,以供查询。
从1.5.2版本开始,官网上给出了Streaming Table详细的使用文档:http://kylin.apache.org/docs15/tutorial/cube_streaming.html
本文基于Kylin 1.5.2.1,介绍在Kylin中基于Kafka定义Streaming Table,从而完成准实时Cube的构建。
Kafka中的数据
目前提供的Streaming Table,在Kafka中的数据必须是JSON格式,并且必须包含一个timestamp类型的字段,用作时间序列。
应该可以自己写解析器解析Kafka中的数据,这个后面再研究。
Kafka中Topic为: kylinlog2
数据格式如下:
定义Streaming Table
在DataSource中添加”Add Streaming Table”。
复制一条JSON格式的数据,点击>>后,右边解析出JSON中包含的字段及其格式,另外,会自动添加出年、季度、月、周等时间上的衍生维度,可以根据实际需要保留或舍弃。
配置Kafka Cluster的链接信息。
保存后,可以在Tables下面看到该Streaming Table。
定义Model
基于上面的Streaming Table,定义Model。
定义维度。注意维度中一般不要将timestamp类型的时间序列作为维度,这样会导致cuboid太多,影响性能。而是选择需要的时间衍生维度,例如小时、天。
定义指标。我这里需要根据cookieid去重计算UV。
保存Model。
定义Cube
根据前面的lxw1234_streaming_model定义cube.
定义维度。
定义指标,PV和UV。
设置合并和保留时间。
保存Cube.
Build Cube
在命令行运行:
$KYLIN_HOME/bin/streaming_build.sh lxw1234_streaming_cube 300000 0
官网对于Build命令的说明如下:
The build is triggered, a separate log file will be created in $KYLIN_HOME/logs/ folder, e.g, streaming_STREAMING_CUBE_1462471500000_1462471800000.log; As the delay is 0, margin is 5 minutes, the build will take a while as most of time is waiting for message to arrive. After about 7 to 10 mintues, the build will finish.
Go to Kylin web GUI, refresh the page, and then click the cube, you should see its “source records” is a positive number now (usually be 150; 30 records per minute); Click the “HBase” tab you should see a segment is created, with a start time and end time (range is 5 mintues).
Build成功完成后,可以在Model页面看到Cube的元数据已更新,比如记录数和HBase中的HTable等。
这时候,需要选择Action中的Enable,将Cube可用。
查询Cube
可以正常查询Cube。
Streaming Table的自动更新
目前的版本中只提供了命令行更新,因此,需要在crontab中配置计划任务来周期性调用build命令,完成更新。
详见官方文档说明。
这块还得好好研究和改进。
转自:lxw的大数据田地 » Apache Kylin中使用Streaming Table构建准实时Cube
- Kylin系列-Apache Kylin中使用Streaming Table构建准实时Cube
- CDH中 Apache Kylin使用spark引擎构建Cube
- Apache Kylin Cube构建算法
- Apache Kylin Cube 构建原理
- 【Kylin】Kylin中的cube构建
- 【Kylin】Kylin中的cube构建
- 【Kylin】Kylin中的cube构建
- Kylin系列-在Apache Kylin中使用Count Distinct
- Kylin中的cube构建
- Kylin中的cube构建
- Apache Kylin Cube优化
- 如何在kylin中构建一个cube
- 关于Kylin中cube的构建
- Kylin系列-使用Saiku+Kylin构建多维分析OLAP平台
- Kylin Cube构建过程优化
- kylin中的cube构建详解
- Kylin Cube构建过程优化
- Apache Kylin构建cube的FactDistinctColumnsJob阶段出现IllegalStateException异常
- Centos6.5下本地安装Bowtie2的详细步骤
- 11g_ocm自动打补丁_rollback补丁
- Linux3_进程基础概念
- 盗梦空间之VLAN in VLAN
- 【java基础】14.I/O:流3
- Kylin系列-Apache Kylin中使用Streaming Table构建准实时Cube
- JavaMail本地服务器发送邮件
- PAT乙级 1019. 数字黑洞 C语言
- Github学习(2)——gitignore的设置
- 深度学习顶会“无冕之王”ICLR 2018评审结果出炉,斯坦福大学对抗训练研究得分第一
- mybatis if判断值相等时 的特殊情况?常常出现错误
- 记一次模拟面试
- D盘属性0字节要如何办啊
- 您不了解的SQL服务器部署过程中的节约成本策略