定位
Kylo定位于企业级的数据湖管理平台(Data Lake Platform),它是基于Spark和NiFi的开源数据湖编排框架,Kylo提供的主要特性包括数据获取、数据准备和数据发现,并支持元数据管理、数据治理和高级安全特性。
厂商信息
Kylo是由Teradata天睿公司开源,并被航空、保险、电信、金融服务、银行和零售行业的全球Top N公司所应用。
经典场景
通过Kylo的GUI界面,业务人员可以按照他们关心的方式来操作数据,包括:创建数据源、定义数据加载、数据预处理、转换,发布到目标系
Kylo系统介绍
系统组件
- Kylo-ui:即前端web组件,主要包括Operations、Feed Manager和Admin三个一级功能:
- Operations:提供仪表盘、服务状态监控、Job执行概览、告警查看、SLA调度等功能。
- Feed Manager:提供Feed管理、目录分类、SLA、可视化查询以及数据预览等能力。
- Admin:提供用户管理、分组管理、数据源管理、模板管理等功能。
- kylo-services:Kylo服务后端,为前端提供Rest ful接口,并实现Job 仓库、元数据仓库的管理能力,并负责与依赖组件如ES、NiFi、Hadoop Cluster的通信。
系统依赖
Kylo的安装和运行依赖于多种外部组件,组件及其作用如下所示
概述说明如下:
MySQL/PG/MS SQL Server :kylo需要使用关系型数据库实现其元数据存储与管理
MQ:用于不同组件之间的消息通信
JDK:Kylo运行在java虚拟机中
ES/Solr:用于Hive中元数据或Feed数据的全局搜索(前提是在创建Feed时需要指定索引)
Spark、Hive、HDFS:Kylo具有调用大数据集群的能力,Kylo默认将Spark作为Hive的执行引擎。
组网模式
Kylo的自有服务和依赖服务可以分开部署,也可以部署在一台服务器上。Kylo既支持单机模式也可以集群方式。
组网结构如下所示:
与大数据系统的关系
在物理上,Kylo既独立于源系统和目标系统,同时也与CDH/HDP Cluster相互独立。但Kylo需要集成Hive、HDFS、Spark等的lib库,从而实现与大数据集群的通信。
Kylo集成的部分lib库如下所示:
与NiFi的关系
Kylo依赖NiFi实现数据流编排的能力,即Kylo中对数据的处理依赖于NiFi中的模板,在工作中需要先在NiFi中完成模板定义,然后从NiFi中导出并导入到Kylo中,如下所示:
NiFi中的数据流:
NiFi中的模板:
Kylo中的模板: