内容提要
本文介绍了利用亚马逊云科技的云原生服务和开源社区产品构建无服务器数据仓库的解耦方法,集成Apache DolphinScheduler和EMR Serverless实现高效可靠的数据编排和处理,切换DolphinScheduler的存储层到S3并通过S3上传作业脚本,以及通过标签机制实现LOB粒度的资源消费分析。
延伸解读
解耦部署带来的可靠性提升
文章强调 DolphinScheduler 与 EMR Serverless 采用解耦部署,调度器集群部署在 3 个 EC2 实例上,与 EMR 作业相互独立。这种架构下,任一组件故障不会影响另一组件,从而提升整体系统可靠性。对于需要高可用数据管道的企业,这种设计降低了单点故障风险,尤其适合对稳定性要求高的金融科技场景。
存储层切换与脚本迁移的实操要点
将 DolphinScheduler 资源中心存储从 HDFS 切换到 S3 需修改 api-server 和 worker-server 的 common.properties,配置 S3 访问密钥、区域和桶名,并重启服务。若脚本已直接上传至 S3,还需向 t_ds_resources 元数据表插入记录,确保控制台可识别和操作。这些步骤是集成成功的关键,忽略可能导致脚本无法调度。
作业状态捕获的必要性与实现方式
由于 EMR Serverless 作业需通过 shell 或 python 脚本编排,DolphinScheduler 默认无法获取实时作业状态,导致 DAG 无法根据状态推进。文章通过编写 shell 脚本轮询 EMR Serverless 的 get-job-run 接口,捕获 SUCCESS、FAILED 等状态,并据此控制 DAG 分支。这种方法在不修改复杂 DAG 的前提下实现了状态同步,是集成中的实用技巧。
LOB 粒度成本分析的实际价值
通过亚马逊云科技成本分配标签,企业可为实例打上代表业务线(LOB)的标签,并在账单控制台激活后按标签值可视化资源消费。文章指出,标签激活后约需一天才能在成本浏览器中显示数据。对于金融科技客户,这种 LOB 粒度的成本分析有助于内部清算结算和精确监控,实现成本优化。
Q&A
如何利用 Amazon EMR Serverless 和 Apache DolphinScheduler 构建无服务器数据仓库?
通过解耦部署 Apache DolphinScheduler 和 EMR Serverless,实现高效的数据编排和处理,满足企业的数据需求。
DolphinScheduler 如何与 EMR Serverless 集成?
DolphinScheduler 与 EMR Serverless 解耦部署,通过低代码创建高性能工作流程,实现作业编排。
如何将 DolphinScheduler 的存储层从 HDFS 切换到 S3?
编辑 DolphinScheduler 的配置文件,将资源存储类型设置为 S3,并重启相关服务以完成切换。
DolphinScheduler 如何实现 LOB 粒度的资源消费分析?
通过亚马逊云科技的成本分配标签机制,企业可以对资源消费进行 LOB 粒度的统计和可视化。
DolphinScheduler 的哪个版本最稳定?
经过实战测试,DolphinScheduler 3.1.4 版本表现最为稳定。
如何确保通过 S3 上传的作业脚本可以在 DolphinScheduler 中操作?
需要将所有脚本的元数据插入到 DolphinScheduler 的资源管理表中,以便能够在控制台中找到和操作这些脚本。