现有过程 - 原始结构数据被复制到红移的分期层中。然后,使用ETL工具(例如Informatica),将其进行增量加载到DatamArt/DataWarehouse的事实和尺寸表中。所有连接都发生在数据库层中(ETL将查询推入DB) - 可以激发替换ETL工具,并将相同的处理和加载数据加载到红移中吗? - 此架构的优点和缺点是什么?
我在过去的4年中广泛地研究了将现有ETL作业迁移到Spark的项目。
ETL工作的问题如下
-
他们没有给我们一个严格的SLA。这些工作正在共享相同的资源池,因此优先级排序很难。每个人都作为
business critical
工作。 -
另一个重要的问题是基于ETL的工作的成本很高,因为我们向提供商付款。
-
量表是另一个重要问题。我们需要在巨大的规模上ETL,我们发现太贵了。
因此,我们迁移了所有ETL来激发工作。Spark和Hadoop都是开源的,除了计算外,我们没有任何其他成本问题。
SQL的火花支持随着时间的流逝而显着改善。您可以在同一数据框架上运行ML/图形查询和正常ETL。Spark连接很快,可以针对不同的数据集进行优化。您可以对转换并加入更加细粒度的控制。
我们首先使用一个长期运行的群集,并支持SPARK和其他大数据工具。我们统一了平台,以便所有客户都可以使用它。我们慢慢地迁移了所有ETL工作来激发工作。
我们确实使用红移进行报告,但是从数据,加入,管理传入的数据并将其与现有快照合并的所有繁重的发现都在Spark中完成。
我们能够通过远离现有的ETL工作并将其迁移以引发数百万美元。
我对此的两便士是,最终火花,蜂巢大数据,Hadoop最终将超越ETL工作。我并不是说ETL会被杀害,但绝对是开源解决方案将成为该领域的主要力量。
我可能知道用Spark替换Informatica的原因。Informatica BDM 10.1版带有Spark Excution Engine,这将Informatica映射转换为Spark等效(Scala Code),并在群集上执行此操作。同样,我认为,Spark更适合不立即中间的数据,在ETL的情况下,数据从转换变为转换!