数据整合背景介绍
随着云计算和大数据技术的发展,用户对于业务系统运行过程中所产生的各种报表、分析和决策支持需求日益复杂化。发端于上世纪70年代的数据仓库开始得到广泛应用和快速发展。如今,数据仓库已经不仅仅是一个存储和管理数据的工具,而是成为了一个全方位的数据管理平台,涵盖数据的采集、清洗、转换、加载、分析和可视化等多个方面。许多运行在大规模基础设施上的业务系统,都已经建设了完备的数仓体系,成为支持企业决策的重要工具。
作为业务系统数据分析的其中一个应用维度,可观测性在计算机和云计算领域的发展非常迅速。在理论成型初期,可观测性主要应用于自动控制系统的设计和优化。随着云计算技术的普及数据中心和网络环境的复杂化,特别是在分布式系统和云环境中,故障诊断和性能监控通常需要实时和详细的系统状态信息,因此更加依赖完善的可观测性工具来保障系统的稳定和高效运行。在这样的背景下,可观测性的内涵和外延都在不断扩大。从最初的系统性能监控和故障诊断,到现在包含了整个IT生命周期的运维和运营管理,可观测性在IT及云计算领域的地位和作用越来越重要。
在此背景下,可观测平台和数据仓库的融合便进入了越来越多数据工作者的视野。通过可观测+数仓的数据处理组合,用户可以更加便捷的拉通业务数据和指标、日志、链路等运维数据,从业务整体视角和基础设施整体视角,审视基础设施当前运行各维度的健康状况,评估异常指标的影响范围,制定合理的运维服务质量目标及运维质量评价体系。并将数据转换整合为各个维度团队均可理解、可分析、可运用的数据模型或展现模型,降低跨部门、跨团队消费数据的门槛,让更多的团队掌握和使用观测数据,服务好系统稳定持续运行的业务目标。
数据整合平台——DataFlux Func
针对上述大数据处理场景的常用语言和工具组合有很多,如任务开发领域的Java、Scala,统计分析领域的R,数据查询领域的各种QL等。而在数据内容处理方面,Python则以其强大的处理能力、简单的语法和丰富的第三方库而广受欢迎。对于可观测+数仓的数据聚合场景,一款设计友好、功能丰富的PythonIDE,无疑是实现数据开发场景快速落地的利器。
以国内领先的可观测平台厂商观测云为例,其推出的DataFlux Funct数据处理开发平台为开发者提供了一系列便捷的工具和服务,如代码开发界面、调试器、任务发布、接口发布等功能,并针对其可观测平台观测云进行了多种对接功能的封装。最大程度简化开发及数据对接过程,使开发者可以聚焦数据汇聚及处理场景而无需关注工具本身的部署及运行环境,是一款可观测数据整合场景的优秀工具。
多数据源对接
对于可观测+数仓的数据整合分析,首先需要对各种数据源的数据进行汇聚。根据数仓的建设方式和技术选型差异,开发者需要适配不同形态的数仓底层设施,并开发适配接口对数据进行提取。例如,通过ORM框架以面向对象的方式操作数据库,直接与数据库进行交互;通过特定的py包,基于各数据库官方提供的DBAPI来实现连接。如psycopg2连接PostgreSQL数据库,通过pymysql连接MySQL数据库等。这些接口的开发、维护及后续管理对于开发者来说都是不小的负担,并可能持续影响数据处理项目的后续开发及交付。
观测云DataFlux Func平台内置了丰富的数据源连接器,开发者无需再次开发诸如接口访问、数据接收、异常处理、事务、过程记录等基础操作。只需实例化连接器对象,按照接口文档描述直接调用相关处理方法,便可实现多数据源的快速对接:
数据处理脚本开发
DataFlux Func提供了完善的脚本开发功能支持,在完成数据的整合接入后,开发者可以在Func编辑器界面对数据处理过程进行开发调试。其中开发脚本库的代码编辑器界面提供代码提示、函数提示、自动补全等功能,发布功能提供语法检查、版本发布更新等功能,方便用户编写及发布相关代码。
完成编写的代码,可以基于执行器进行代码逻辑调试,查看代码执行结果。或根据执行报错对代码进行优化及修改:
在可观测+数仓大数据开发过程中,不可避免的需要引入各种第三方工具包支持。DataFlux Func函数开发平台的GSE版本除预置了对接观测云所需的相关数据工具包,如集成 Core 核心包、智能巡检核心包、可观测数据算法库等观测平台工具支持外,还提供了numpy、pandas等数学包、jinja2、mailer、openpyxl等其他依赖包。简化数据处理开发的包管理操作:
除已预装的数据处理包外,如有其他需要增加安装的数据包,开发者也可通过PIP工具安装额外的数据包。最大程度提供对数据处理开发的工具支持:
数据处理任务的部署
观测云DataFlux Func平台内置了定时任务管理引擎。对于需要定期执行的数据提取、清洗、重构任务,开发者可以方便的通过Func平台的自动触发配置功能,配置相关任务的执行对象及执行策略。无需自己安装运行环境并配置管理相关定时任务:
配置完成后,任务定时触发以及历史任务的信息记录,均可通过DataFlux Func 自动触发配置菜单进行管理和查看。仅需几步点击操作,相比于其他IDE环境具有更好的易用性和场景实用性。
数据接口API的发布
如需要将开发好的数据处理脚本对外封装为数据接口,提供数据处理平台的被集成能力。传统开发环境或运行环境要求开发者自行实现HTTPServer的相关功能,无疑会增加一些额外的管理维护工作量。而DataFlux Func平台已在其功能设计时考虑了这个场景。通过同步接口模块(授权链接)和异步接口模块(批处理)两个API封装功能,开发者只需简单的点击选择,即可将自己开发的数据接口,封装为HTTP API接口对外提供访问服务:
同时,与接口访问相关的调用示例、鉴权、熔断限流等功能均一并提供给开发人员,无需自行编码实现或进行维护管理。真正做到了数据整合处理场景的开箱即用:
总结
观测云DataFlux Func数据处理开发平台是一款优秀的“可观测+”场景下的开源数据整合工具。功能强大,配置丰富,开箱即用。还有更多实际使用场景中的功能等待我们发现,后续本文将继续关注Func开发平台的功能挖掘,从更多实际使用角度,分析Func开发平台的功能特点和优秀设计,为大家用好这款工具提供支持。
附:
DataFlux Func开源项目地址: github.com/GuanceCloud…
帮助文档地址: func.guance.com/#/