首页 > 编程知识 正文

bi是啥,大数据bi工具有哪些

时间:2023-05-04 10:16:21 阅读:53251 作者:211

单击上面的蓝色字体,然后选择设为星标

回复”资源“获取更多资源”

本文已收录于千兆网仓库: 《大数据成神之路》

地址: https://github.com/wangzhiwubigdata/god-of-big data

3358www.Sina.com/今天,随着移动研发背景等技术的飞速发展,数据已成为所有这些技术背后最重要、最有价值的“资产”。 此外,数据是所有业务决策的基础,越来越多的公司选择向数字化转型,但数据驱动的增长具有挑战性。 企业数据孤岛严重,数据完整性难以保证,数据资产沉淀数据难以共享,数据分析项目上线几个月,报表查询响应缓慢,难以适应瞬息万变的市场环境, 成本问题在数据量呈指数增长的前提下难以控制,因此在大数据背景下,如何快速从海量超大数据中获取有价值的信息,成为新时代的课题。

自Hadoop问世以来,大数据存储和批处理问题已得到妥善解决,如何快速分析数据成为下一个难题。 于是产生了各种各样的“SQL on Hadoop”技术,其中以Hive为首,其次是Impala、Presto、Phoenix、Drill、SparkSQL、FlinkSQL等。 主要技术是“大规模并行处理”(MPP )和“列存储”)。 大规模并行处理可以动员多台机器进行并行计算,以线性增加的资源换取计算时间的线性降低。 由于列存储器按列存储记录,因此不仅可以读取访问时所需的列,而且可以利用存储设备善于连续读取的特点大大提高读取速度。 这两项关键技术将Hadoop中SQL查询的速度从小时提高到了分钟。

但是,分钟查询响应仍然远离交互分析的现实需要,市场上主流的开源OLAP引擎目前没有能够满足不同场景查询需求的系统。 其根本原因在于,没有一个系统能够同时在数据量、性能和灵活性三个方面完美运行,而且在设计每个系统时都需要在这三者之间进行取舍。

仔细考虑大数据OLAP,可以注意到两个事实。

大数据所求出的一般是统计结果,多个记录是通过聚合函数计算出的统计值。 原始记录不是必需的,或者访问频率和概率非常低。

聚合是按维进行的。 由于业务范围和分析需求有限,有意义的维聚合组合也相对有限,不会随着数据的增长而增长。

基于以上两点,我们可以得到新思路——“预期计算”。 应尽可能多地预先计算聚合结果,并在查询时尽可能使用预算结果提交查询结果,以避免直接扫描可能无限增长的原始记录。 预计计算系统将在检入时预聚合数据,并牺牲灵活性以换取性能,从而实现对超大数据集的秒响应。

Apache Kylin是一个开源分布式分析数据仓库,在Hadoop/Spark/Flink的基础上提供SQL查询接口和多维分析(OLAP )功能,以支持超大规模的数据。 预计这可以在子秒内查询到巨大的表。 其关键是打破查询时间随数据量线性增长的规律。

互联网、物联网、大数据、AI

BI大数据分析平台致力于帮助用户在业务场景中快速应用大数据,帮助业务发展和产业升级,帮助数据更高效地驱动生产力。 因此,必须整合Kylin,实现和实现基于大数据Hadoop生态MoLAP(Kylin )和HOLAP多引擎)的查询分析

支持识别、管理和优化最有价值数据、提升整合底层复杂数据源的能力,通过数据服务将复杂的数据映射为业务语言,统一业务口径。采用预计算技术可打破查询时间随数据量线性增长的现状,提供稳定高效的查询性能。

研发目标

BI平台无缝集成Apache Kylin,托管Kylin用户、权限管理统一的安全认证,统一界面样式、操作流程,并对一些功能进行扩展改造以适配BI系统,整合SparkSQL、FlinkSQL、Presto等多种引擎结合起来实现智能路由,充分发挥每种引擎的长处优势,赋能用户极速数据分析体验,形成统一、一站式的大数据OLAP解决方案。

数据立方体构建引擎(Cube Build Engine):当前底层数据计算引擎支持、MapReduce、Spark、Flink等。

Rest Server:当前kylin采用的REST API、JDBC、ODBC接口提供web服务。

查询引擎(Query Engine):Rest Server接收查询请求后,解析sql语句,生成执行计划,然后转发查询请求到Hbase中,最后将结果返回给 Rest Server。

存储引擎:Kylin默认使用分布式、面向列的开源数据库Hbase作为存储库引擎。


设计架构

附注

Mondrian为一个OLAP引擎,而且是一个ROLAP引擎,实现了以下规范:

MDX(多维查询语言,相当于数据库的SQL)

XMLA(通过SOAP使用OLAP)

olap4j(Java API规范,相当于JDBC关系数据库)

附注

数据应用,包括智能报告、支持生成SQL或多维分析查询MDX语句组件、托拉拽自助式分析可视化组件等

Mondrian Schema,数据多维分析模型

Mondrian引擎,根据Schema生成标准SQL

目标数据源,包括关系型数据源、非关系型数据源、企业数据仓库

功能架构设计

附注:

存储引擎,Kylin默认使用分布式、面向列的开源数据库Hbase作为存储库引擎,基于Apache Kylin插件架构实现数据库存储接入。

Presto,分布式SQL查询引擎,适用于交互式分析查询,数据量支持GB到PB字节。


用户/权限

Kylin的Web模块使用Spring框架构建,在安全实现上选择了Spring Security。Spring Security是Spring项目组中用来提供安全认证服务的框架,它广泛支持各种身份验证模式,这些验证模型大多由第三方提供, Spring Security也提供了自己的一套验证功能。Kylin提供了三种用户验证方式“testing”、“ldap”和“saml”,依次为:自定义验证、LDAP验证和单点登录验证。

BI平台已实现一套成熟且完善的用户权限控制体系,为了便于系统的安全管理需要将Kylin用户权限管理和BI平台用户管理打通,可以利用现成的机制对Kylin的访问、资源的访问控制、修改做保护性的限制,使得大数据下的交互式报表分析成为可能。

数据模型

BI数据主题基于数据源元数据信息创建数据模型,支持简单可拖拉拽、灵活快速的方式实现可视化数据建模,需打通BI数据建模与Kylin数据建模功能,将BI数据模型适配至Kylin数据模型,支持事实表、维度、度量定义。

每次Cube构建都会从数据源中批量读取数据,而对于大多数业务场景来说,数据源中的数据处于不断增长的状态,为了支持Cube中的数据能够不断地得到更新,且无需重复地为已经处理过的历史数据构建Cube,Cube支持增量构建,每个Cube都关联着一个数据模型Model,增量构建Cube需要指定分割时间列。

对于维度表可选择配置是否将其以快照(Snapshot)形式存储到内存中以供查询。当维表小于300M时推荐启用,可以简化Cube计算提高效率。

CUBE配置

Cube功能改造:

页面,布局、样式统一、中文显示

用户权限,统一安全认证

Cube管理查询

构建引擎,计算引擎默认选择Flink作为构建引擎


Cube运行监控

Apache Kylin通过日志和报警对任务进行监控、了解整体的运行情况,Kylin支持显示每个构建任务的进度条和构建状态,并可以展开明细,列出任务的每一步详细信息,数据模型下总Cube数,及空间占用。

状态

禁用(Disabled) 只有定义,没有构建数据

错误(ERROR) 报错并停止后续执行

准备(Ready) 构建完成可以提供查询服务。

执行控制

恢复(Resume) 在上次错误位置恢复执行

放弃(Discard) 如要修改Cube或重新开始构建,可以放弃此次构建。

构建(Build) 全量构建,增量构建采用

刷新(Refresh) 对相应分区(Segment)历史数据进行重建

合并(Merge) 合分区(Segment),提高查询性能


数据查询

Cube构建好以后,状态变为“READY”,就可以进行查询,查询语言为标准SQL SELECT语句。

只有当查询的模式跟Cube定义相匹配的时候,Kylin才能够使用Cube的数据来完成查询,“Group by”的列和“Where”条件里的列,必须是维度中定义的列,而SQL中的度量应跟Cube中定的义的度量一致。

Kylin提供了灵活的前端连接方式,包括Rest API、JDBC和ODBC。用户可以根据需要查询访问。

存储引擎

基于Apache Kylin较强可伸缩性的插件架构实现数据库存储接入。

Kylin旨在减少Hadoop在10亿及百亿规模以上数据级别的情况下的查询延迟,目前底层数据存储基于HBase,具有较强的可伸缩性。插件架构旨在使 Kylin 在计算框架,数据源和cube 存储方面具有可扩展性。从 v1 开始,Kylin 与作为计算框架的 Hadoop MapReduce,作为数据源的 Hive,作为存储的 HBase紧密结合。

后起之秀Pulsar VS. 传统强者Kafka?谁更强

Kylin 大数据下的OLAP解决方案和行业典型应用

Apache Kylin在美团数十亿数据OLAP场景下的实践

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。