深度解析:基于离线开发的数据仓库转型落地案例
在当今这个数据驱动的时代,各行各业都正经历着前所未有的变革。伴随技术的飞速发展,数据仓库作为企业数据管理与分析的核心,如何更好地发挥作用,助力企业保持业务的敏捷性与成本效益,成为大家关心的焦点问题。本文将通过具体案例分析,展现基于离线开发的数据仓库转型落地中的关键步骤与实施策略。
一、业务增长迅速,原数仓架构难以为继
客户A是一家中美合资的泛金融行业公司,成立时间短但业务增长十分迅速。数仓团队规模不到10个人,勉强能支撑起业务需求,在面对越来越高要求的业务数据供给及公司内部降本增效的趋势下,团队也在不断探索新型的数仓平台模式,目前数仓架构如下图:
客户底座集群采购了CDP7.1.6、数据集成采用Sqoop,将业务库的数据同步至HDFS后,通过Hive SQL做数据开发。另有少量的Shell、Python任务,使用Oozie进行离线任务调度。
二、当前数据平台问题日渐凸显
随着业务体量的逐渐增长,当前数据平台架构的问题也逐渐凸显: 1. 运维成本高:Sqoop和Oozie都是开源工具,集成性一般,组件的升级和异常排查需要耗费较多人力成本。
** 2. 平台上手门槛高**:除数据开发外,很多业务方也希望直接在平台进行临时取数,但因上手门槛高,业务方一直没用起来,导致大量简单的需求仍堆积到数据开发侧,并且得不到快速响应。
3. 现有开发模式无法满足数据开发合规要求:目前数据开发环境仅有一套生产环境,对任务和数据做的任何变更都直接影响线上业务,操作高风险,多次因人为失误导致线上故障。
4. 任务依赖配置繁琐且易出错 :目前几乎所有的任务每个工作日4批次调度,任务与任务之间的依赖通过HDFS信号文件通知实现,经常出现信号文件缺失或产出超时导致的下游任务失败。
5. 开发人员水平不一,代码质量难监控:运维人员人工巡检时经常看到部分任务运行时间长占用大量资源,大多数情况下是SQL代码质量问题导致,然而目前无法在事前进行规范约束和监控。另外因数据集成小时任务多,大部分数据开发没有调参意识,造成小文件大量堆积。
6.数据产出延迟问题排查困难:每天早上9点的数据产出经常出现延迟,因依赖链路长,难以排查数据延迟源头,下游反馈多次影响业务。
7. 接口没有统一管控:API重复开发、越权调用问题频发,管理不到位且管理困难。
三、重塑数据开发平台,提升效率和满意率
袋鼠云数栈团队针对客户A的以上问题设计了新的产品架构,帮助客户重新搭建数据开发平台,有效解决使用痛点,提升数据开发人员的工作效率和业务人员满意率。
针对客户上述问题,数栈结合已有功能给出的解题如下: 1. 运维成本大大降低 数栈的数据集成、开发与调度均为自研,所有模块天然集成,且有专门的运维与技术支持团队服务,客户的运维成本几乎降到0。
2. 平台上手门槛降低,开发模式满足数据开发合规要求 用数栈搭建的开发平台设计了5套环境(统一开启集群级Kerberos认证),平台登录对接客户的LDAP账号单点登陆,让数据开发和业务方都可直接使用。
虽然相比原始的开发平台,数栈在操作门槛和体验上均有了质的提升,但为了让更多业务方直接参与到数据开发过程中来,我们把数栈单独划分了一套UDS环境,实现让业务方在业务系统中直接写SQL,然后业务系统通过调用SDK把SQL提交到数栈的UDS环境上运行并返回结果,由CDP自带的Ranger对任务提交的LDAP用户进行数据权限管控及校验。在Kerberos开启的情况下LDAP身份认证会弱化,因此数栈开发了租户级Hadoop代理的功能,通过代理能定位到原始提交LDAP账号,实现用户认证还原。
针对数据开发用户,开发环境分为了SIT、UAT、pre-PROD、PROD 4套环境,其中pre-PROD、PROD环境与SIT、UAT网络隔离以保证生产数据的安全。数据开发在SIT环境进行离线任务开发,自测通过后将任务一键发布至UAT环境由测试人员做测试数据验证,通过后由运维将任务及相关内容打包并发起发布申请流程,经管理员审批通过后自动由jenkins投产至预发环境pre-PROD进行生产数据验证,等到生产环境更新窗口期再由管理员发布至生产环境,因生产环境严格不允许有个人用户操作,为了保障任务发布后可正常运行,在发布至生产环境时会自动将任务和责任人统一替换为系统用户。
3. 任务依赖配置简化 使用数栈进行任务依赖配置时无须关心信号文件的创建和状态,每个任务仅需配置其直接上游,当上游任务延迟或失败时下游会在有效期范围内进行等待,上游修复后下游即能自动运行。数栈的调度周期可通过Cron表达式或者上传自定义调度日历的方式配置,针对客户"工作日每天6点、8点、16点、18点"或者更不规律的周期调度场景,可用一个excel文件一次性上传一年的调度日历在批量任务中使用。
4. 上线代码检查功能,提升代码质量 针对开发人员代码规范性意识不统一问题,数据资产模块上线了代码检查功能,平台内置了一些代码检查规则例如禁止ddl操作、禁用Select * 等(此外也可按企业内部个性化的代码要求开发自定义检查规则),在离线项目中可由管理员选择目标任务开启代码检查,开启后,数据开发在进行任务运行或提交前将由平台执行代码扫描,若扫描结果触发了代码检查规则中的强规则/弱规则,则分别给出阻止提交运行/提示的处理;
客户目前的Hive SQL任务较多,在代码检查规则监控的基础上我们增加了Hive SQL任务运行资源监控的功能,可在任务运行过程中查看详情监控cpu和memory使用情况,管理员也可在监控告警中配置资源使用上限告警,当任务使用资源过大时及时通知相关人员处理。
针对小文件问题,数栈的运维管家EasyManager可开启HDFS文件数量监控,另外数据资产支持小文件治理功能,可选择小文件突出的schema进行周期或临时检查和治理(即小文件合并),双重保障避免因小文件问题影响集群性能。
5. 多批次监控告警,让问题排查更简单 数据产出延迟告警问题可以通过基线告警解决,但客户大部分是一天4批次的小时任务,在单批次天任务基线监控的基础上我们新增了多批次监控的功能,对于纳入同一多批次监控的任务每天生成多个基线实例,实现一条基线一次配置后每个批次分别监控分别告警的效果。
6. API统一开发和管理 通过数栈的数据服务进行API的统一开发和管理,可实现跨项目的API市场统一查看和调用权限申请,减少重复开发,用户在调用API时可按Token及AK/SK多种认证方式进行权限校验,调用明细也会在平台内完整记录,充分保障调用安全;
以上数栈给出的解决方案与用户体验为后续客户的数据平台深度建设打下了良好的基础,得到了客户的好评,未来袋鼠云将继续全链路打磨产品,主动为客户提供更大的价值。
《数据资产管理白皮书》下载地址:https://www.dtstack.com/resources/1073?src=szkyzg
《行业指标体系白皮书》下载地址:https://www.dtstack.com/resources/1057?src=szkyzg
《数据治理行业实践白皮书》下载地址:https://www.dtstack.com/resources/1001?src=szkyzg
想了解或咨询更多有关大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:https://www.dtstack.com/?src=szkyzg

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Databend 产品月报(2024年8月)
很高兴为您带来 Databend 2024 年 8 月的最新更新、新功能和改进!我们希望这些增强功能对您有所帮助,并期待您的反馈。 Kafka Connect Sink Connector 插件 我们推出了一种将 Kafka 连接到 Databend 的新方式:databend-kafka-connect,这是一个 Kafka Connect sink connector 插件。该插件支持 Append Only 和 Upsert 两种写入模式,并能根据数据的 schema 自动在 Databend 中创建目标表。了解更多详情,请查看文档。 想亲身体验如何将 Kafka 消息加载到 Databend,请探索以下教程: 使用 bend-ingest-kafka 从 Kafka 加载数据:https://docs.databend.cn/tutorials/load/kafka-bend-ingest-kafka 使用 databend-kafka-connect 从 Kafka 加载数据:https://docs.databend.cn/tutorials/load/kafka-data...
- 下一篇
数据资产入表元年,企业如何抓住数据资产增值的机遇?
近年来,政府将数据要素纳入了经济发展的重要指示性文件当中,希望利用数据驱动。《全国数据资源调查报告(2023年)》显示,2024年以来不少地方纷纷成立"数据集团",加快盘活数据资产。作为数字经济时代的首要生产要素,数据将有望成为政府和企业财务报表以及财政收入的重要支持。 一、数据资产定义 数据资产是指企业拥有或控制的、预期会给企业带来可持续经济利益、以数据为主要内容和服务的可辨认形态。 "企业拥有或控制的",就是企业必须拥有数据资产的完整权利,即所谓的"三权":数据资源持有权、数据加工使用权、数据产品经营权。"预期会给企业带来可持续经济利益",这些利益可以进一步细分为内部价值和外部收益,内部价值指的是企业自身生产、销售并使用数据资产所产生的价值;而外部价值则是指企业生产、销售数据资产给其他使用者所产生的收益。"以数据为主要内容和服务的可辨认形态"意味着只有当数据以产品的形式存在,并且能够被明确识别和计量时,它才能被正式确认为数据资产,数据产品不仅是数据资产化过程中的产物,也是衡量和确认数据资产价值的重要标准。 二、数据资产管理 中国信通院《数据资产管理实践白皮书6.0》:数据资产管理是...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- 2048小游戏-低调大师作品
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS关闭SELinux安全模块