需要一些关于大数据 ETL 作业成本效益设计的建议

Posted

技术标签:

【中文标题】需要一些关于大数据 ETL 作业成本效益设计的建议【英文标题】:Need some advice on Big Data ETL job cost effective design 【发布时间】:2020-06-10 05:20:59 【问题描述】:

我需要一些关于设计每小时/每天处理的大数据 ETL 作业的建议。我需要一个定期运行超过 1.8TB 元数据的系统,以将数据转换为计费报告以供下游使用。

要求:

Primary DataSource: DynamoDB has the core metadata, 1.8TB and growing unbounded, metadata would be updated all the time.

Latency: Need to finish the job within 12 hours.

Availability: Critical business logic is running on the DDB tables, I cannot afford to impact business when trying to run the ETL job to produce billing reports.

我正在研究 AWS EMR,但我找不到将 DDB 数据转储到 EMR 的经济高效的方法,即使我每天都在转储,每次扫描整个表最终要花费 60000 美元:

1 RCU would be 4KB:
1.8TB * 1024^3 / 4 = 483183820.8 * (0.00013/RCU) = $62813

鉴于数据的大小,我最初的想法是每天将数据转储为快照,并计算前一天的每小时业务报告。但是,如果每天进行一次转储,每个月的成本就会高达 200 万美元。

我可以就这项工作的成本效益方式获得一些建议吗?

【问题讨论】:

【参考方案1】:

为什么需要在 EMR 上转储数据?你只需要在 EMR 上运行你的计算,你的源仍然可以是 dynamodb。

对于第一次迭代,只需读取 dynamodb 中存在的所有数据并创建您的报告。从下一次迭代开始,只需从 dynamodb 读取增量并更新您的报告。

【讨论】:

以上是关于需要一些关于大数据 ETL 作业成本效益设计的建议的主要内容,如果未能解决你的问题,请参考以下文章

SSIS ETL过程设计建议

Data Lake Analytics,大数据的ETL神器!

实习推荐|中国移动-数据仓库/ETL/BI工程师作业帮-大数据ETL工程师

架构帮助 - ETL 数据流和处理的替代方案

ETL 架构

贝壳大数据任务调度DAG体系设计实践