大数据开发学习(Kudu)

前言

kudu,作为OLAP工具十分强劲。本文记录了笔者对其学习和使用的过程。

注明:这篇文章是研究Kudu在OLAP的场景,不准备讨论其他Case。

安装与启动

最新版安装:Installing Apache Kudu

推荐使用VM进行快速体验,Apache Kudu Quickstart

当需要使用kudu client功能时,需要安装:kudu-client、kudu-client-devel这两个C++的库。

常规使用

教学Demo参见:Apache Kudu Quickstart

以上内容是对静态数据的使用,如果是一条实时的数据流,则采用kudu API的方式。需要去做定制开发。

架构体系

kudu架构:

关于运行原理的文章,推荐:Kudu设计原理初探

OLAP服务

作为OLAP服务,ETL环节的处理至关重要。以下列举了小米公司的场景:

对比:

可以看出,除了日志数据外,线上业务数据都可以实时同步到kudu里。基于kudu对外提供OLAP服务,数据的实时性非常可观。

在小米,采用impala作为查询(计算)引擎,但是网上也有presto on kudu的组件可供选型(传送门)。

使用场景

微店:

参考资料

运行原理:kudu内部机制

关于Kudu的介绍: Introducing Apache Kudu

基于Kudu搭建OLAP工具:小米:使用Kudu搭建OLAP服务

基于Kudu的实际应用:使用Spark Streaming + Kudu + Impala构建一个预测引擎