Spark可以替换ETL工具

时间:2016-11-25 21:40:21

标签: amazon-web-services apache-spark etl data-warehouse pyspark-sql

现有流程 - 将原始结构数据复制到Redshift的暂存层。然后使用Informatica,Telend等ETL工具对Datamart / datawarehouse的Fact and Dimension表进行增量加载。所有连接都发生在数据库层中(ETL将查询推送到DB中)   - Spark可以替换ETL工具并执行相同的处理并将数据加载到Redshift中吗?   - 这种架构有哪些优点和缺点?

2 个答案:

答案 0 :(得分:1)

过去4年中,我一直在广泛地从事将现有ETL职位迁移到Spark的项目中。

ETL作业的问题如下

  1. 他们没有给我们严格的SLA。 这些作业共享相同的资源池,因此很难确定优先级。每个人都以business critical的身份从事工作。

  2. 另一个重要的问题是,当我们向提供者付款时,基于ETL的工作成本很高。

  3. 规模是另一个重要问题。我们需要庞大的ETL,发现它太贵了。

因此,我们迁移了所有ETL以激发工作。 Spark和hadoop都是开源的,除了计算之外,我们没有任何其他成本问题。

随着时间的推移,对SQL的火花支持得到了显着改善。您可以在同一数据帧上运行ML / Graph查询和普通ETL。 Spark联接速度很快,可以针对不同的数据集进行优化。您可以更精细地控制自己的转换和加入。

我们从使用长期运行的集群开始,该集群支持spark和其他大数据工具。我们统一了平台,以便所有客户都可以使用它。我们慢慢地将所有ETL作业迁移到火花作业。

我们确实使用Redshift进行报告,但是从数据中查找见解,联接,管理传入数据并将其与现有快照合并的所有繁重工作都在spark中完成。

通过将现有的ETL职位转移到Spark,我们可以节省数百万美元。

对此,我的两分钱是,最终将产生火花,配置大数据,Hadoop将最终超过ETL职位。我并不是说ETL会被淘汰,但是开源解决方案肯定会成为该领域的主导力量。

答案 1 :(得分:0)

我是否知道用Spark替换Informatica的原因。 Informatica BDM 10.1版本附带Spark执行引擎,它将Informatica映射转换为Spark等效(Scala代码)并在集群上执行此操作。 另外,在我看来,Spark更适合不是中间的数据,在ETL的情况下,数据从转换变为转换!!!