什么是 Kylin (分布式分析引擎)

什么是 Kylin (分布式分析引擎),第1张

什么是 Kylin (分布式分析引擎) Kylin 什么是Kylin
概念
  • Apache Kylin ( Extreme OLAP Engine for Big Data )是一个开源的分布式分析引擎,为 Hadoop等大型分布式数据平台之上的超大规模数据集通过标准 SQL 查询及多维分析( OLAP )功能,提供亚秒级的交互式分析能力。
特点
  • 它提供 Hadoop 之上的 SQL 查询接口及多维分析( OLAP )能力以支持大规模数据,能够处理 TB 乃至 PB 级别的分析任务,能够在亚秒级查询巨大的Hive 表,并支持高并发。
Kylin的优势
注意
  • 支持 SQL 接口、支持超大数据集、亚秒级响应、可伸缩性、高吞吐率、BI 工具集成等
1、标准 SQL 接口
  • Apache Kylin 以标准 SQL 作为对外服务的主要接口:Kylin 使用的查询模型是数据源中的关系模型表,一般而言,也就是指 Hive 表
  • 终端用户只需要像原来查询Hive表一样编写 SQL ,就可以无缝地切换到 Kylin ,几乎不需要额外的学习,甚至原本的 Hive 查询也因为与 SQL 同源,大多都无须修改就能直接在 Kylin 上运行。
2、支持超大规模集
  • Apache Kylin 对大数据的支撑能力可能是目前所有技术中最为领先的,千亿以上记录秒级查询
  • 因为使用了 Cube 预计算技术,在理论上, Kylin 可以支撑的数据集大小没有上限,仅受限于存储系统和分布式计算系统的承载能力,并且查询速度不会随数据集的增大而减慢
  • Kylin 在数据集规模上的局限性主要在于维度的个数和基数。它们一般由数据模型来决定,不会随着数据规模的增长而线性增长,这也意味着 Kylin 对未来数据的增长有着更强的适应能力。
3、亚秒级响应
  • Apache Kylin 拥有优异的查询响应速度,这点得益于预计算,很多复杂的计算,比如连接、聚合,在离线的预计算过程中就已经完成,这大大降低了查询时刻所需要的计算量,提高了响应速度
4、BI 及可视化工具集成
  • Apache Kylin 提供了丰富的 API ,以与现有的 BI 工具集成

  • 具体包括

    • ODBC 接口:与 Tableau 、 Excel 、 Power BI 等工具集成。
    • JDBC 接口:与 Saiku 、 BIRT 等 Java 工具集成。
    • Rest API :与 Javascript 、 Web 网页集成
Kylin的工作原理
工作原理
  • 典型的空间换时间
具体过程
  • 1.、指定数据模型,定义维度和度量。
  • 2.、预计算 Cube ,计算所有 Cuboid 并保存为物化视图。
  • 3、执行查询时,读取 Cuboid ,运算,产生查询结果。
说明
  • Kylin 的查询过程不会扫描原始记录,而是通过预计算预先完成表的关联、聚合等复杂运算,并利用预计算的结果来执行查询,因此相比非预计算的查询技术,其速度一般要快一到两个数量级,并且这点在超大的数据集上优势更明显。当数据集达到千亿乃至万亿级别时, Kylin 的速度甚至可以超越其他非预计算技术1000倍以上。
总结
  • Kylin 的核心思想是 Cube 预计算,理论基础是空间换时间,把高复杂度的聚合运算、多表连接等 *** 作转换成对预计算结果的查询。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5669303.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存