概念
- Apache Kylin ( Extreme OLAP Engine for Big Data )是一个开源的分布式分析引擎,为 Hadoop等大型分布式数据平台之上的超大规模数据集通过标准 SQL 查询及多维分析( OLAP )功能,提供亚秒级的交互式分析能力。
- 它提供 Hadoop 之上的 SQL 查询接口及多维分析( OLAP )能力以支持大规模数据,能够处理 TB 乃至 PB 级别的分析任务,能够在亚秒级查询巨大的Hive 表,并支持高并发。
注意
- 支持 SQL 接口、支持超大数据集、亚秒级响应、可伸缩性、高吞吐率、BI 工具集成等
- Apache Kylin 以标准 SQL 作为对外服务的主要接口:Kylin 使用的查询模型是数据源中的关系模型表,一般而言,也就是指 Hive 表
- 终端用户只需要像原来查询Hive表一样编写 SQL ,就可以无缝地切换到 Kylin ,几乎不需要额外的学习,甚至原本的 Hive 查询也因为与 SQL 同源,大多都无须修改就能直接在 Kylin 上运行。
- Apache Kylin 对大数据的支撑能力可能是目前所有技术中最为领先的,千亿以上记录秒级查询
- 因为使用了 Cube 预计算技术,在理论上, Kylin 可以支撑的数据集大小没有上限,仅受限于存储系统和分布式计算系统的承载能力,并且查询速度不会随数据集的增大而减慢
- Kylin 在数据集规模上的局限性主要在于维度的个数和基数。它们一般由数据模型来决定,不会随着数据规模的增长而线性增长,这也意味着 Kylin 对未来数据的增长有着更强的适应能力。
- Apache Kylin 拥有优异的查询响应速度,这点得益于预计算,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需要的计算量,提高了响应速度
-
Apache Kylin 提供了丰富的 API ,以与现有的 BI 工具集成
-
具体包括
- ODBC 接口:与 Tableau 、 Excel 、 Power BI 等工具集成。
- JDBC 接口:与 Saiku 、 BIRT 等 Java 工具集成。
- Rest API :与 Javascript 、 Web 网页集成
工作原理
- 典型的空间换时间
- 1.、指定数据模型,定义维度和度量。
- 2.、预计算 Cube ,计算所有 Cuboid 并保存为物化视图。
- 3、执行查询时,读取 Cuboid ,运算,产生查询结果。
- Kylin 的查询过程不会扫描原始记录,而是通过预计算预先完成表的关联、聚合等复杂运算,并利用预计算的结果来执行查询,因此相比非预计算的查询技术,其速度一般要快一到两个数量级,并且这点在超大的数据集上优势更明显。当数据集达到千亿乃至万亿级别时, Kylin 的速度甚至可以超越其他非预计算技术1000倍以上。
- Kylin 的核心思想是 Cube 预计算,理论基础是空间换时间,把高复杂度的聚合运算、多表连接等 *** 作转换成对预计算结果的查询。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)