资讯 | SparkSQL 在企业级数仓建设的优势
最新
动态
实时
资讯
部门
通知
更多
内容
导语
随着企业的业务发展越来越复杂,需要更加灵活、更加高效的数仓架构,在这样的业务驱动背景下,Hive 的局限变得越来越明显,而基于 Spark SQL 灵活构建数仓的方案将会变得越来越主流。
企业级数仓构建需求
一般来说企业级数仓架构设计与选型的时候需要从以下几个维度思考:
1.开发的便利性:所选择的数仓架构是否具有很好的开发生态,可以提供不同类型的开发态接口,不限于 SQL 编辑器,代码提交,以及第三方工具整合。
2.生态:所选择实现引擎自身是否有很好的生态功能,或者是否可以很好的与其他服务集成,例如数据湖引擎 delta lake,icebeg,hudi 等优秀组件出现,但是 Hive 集成的节奏却非常慢。
3.解耦程度:分布式任务必然需要多个组件的协调,例如分布式存储,资源管理,调度等,像 Hive 就重度依赖于 YARN 体系,计算引擎也与 MR 强绑定,在解耦方面较弱,如果企业考虑在 K8S 上构建自己的计算引擎,Hive 面临的局限会更加明显。
4.性能:整体架构是否拥有更好的性能。
5.安全:是否支持不同级别,不同力度的用户访问和数据安全鉴权体系。
对于企业数仓架构来说,最重要的是如何基于企业业务流程来设计架构,而不是基于某个组件来扩展架构。
企业级数仓技术选择
Google 发表的三篇论文从存储、计算、检索三个方向阐述了海量数据下一种新的分布式数据加工处理技术,这三个方向被雅虎 Nutch 团队实现后贡献给 Apache,也就是目前大家看到的 HDFS、MapReduce 和 HBase,形成了早期 Hadoop 的三大利器。
然而这三大利器更聚焦在异构数据的信息提取处理上,没有提供对结构化数据很友好的类似 SQL 语法的分析入口,同时在编程态的支撑也不够友好,只有 Map 和 Reduce 两阶段,严重限制了业务处理的实现,雅虎团队也是爬虫相关业务孵化而出,可以看出 Hadoop 早期的三大套件有着如下特点:
1.门槛高,需要编程实现,并且编程态受限于 MapReduce 的两阶段约束。
2.以离散数据处理为主,对分析能力、查询等常用数据分析功能支持不足。
3.没有交互式客户端,无法实现交互式探索。
4.Hive 就是诞生在这样的较大的行业背景下,Hive 的出现刚好弥补了 Hadoop 只能用来做离线数据处理这个缺陷,提供了一种常用的分析接口,并且提供了非常好的用户交互方式。
SparkSQL 如何支撑企业级数仓
Spark 引擎因为自身强大的生态和方便的编程接口被广泛应用在数据处理场景下,Spark 提供的 Spark SQL 模块更是为使用 Spark 支撑企业数据仓库提供了一个良好的基础设施。
如图所示,一个典型的数据仓库架构需要包含不同层次的模型构建。由于数据量大、数据结构异构等多种原因,大数据架构下的企业数仓构建抛弃了基于关系型数据库下的 Cube 设计,直接采用基于分布式任务进行处理来构建多层数据模型。因此对于构建企业数仓的服务来说,有着如下要求:
·支持长时任务,通常是小时以上,天级别居多。
· 支持多任务,也就是高并发。
· 稳定性必须被保障。
· 速度快。
· 支持 SQL 的交互式接口。
· 易于集成。
· 支持任务的重跑和容错以及快速任务失败恢复。
随着企业的业务发展越来越复杂,需要更加灵活、更加高效的数仓架构,在这样的业务驱动背景下,Hive 的局限变得越来越明显,而基于 Spark SQL 灵活构建数仓的方案将会变得越来越主流。所以企业在考虑数据仓库构建体系的时候,可以考虑如何基于 Spark SQL 构建自身数据体系,Spark 完善和开放的生态在未来必然会有更多优秀的服务围绕 Spark 形成强大的优势。
信息来源:温职院大数据专业综合部
print("END")
审核:张智媛
编辑:严思雨 王银梅
相关动态:
温州职业技术学院
大数据技术专业学生综合部
我们发布最新的专业动态
我们分享最受关注的实时资讯
让技术成就你的梦想!!
投稿邮箱:[email protected]
~欢迎大家踊跃投稿~