【发布时间】:2018-09-20 21:41:01
【问题描述】:
我的计划:
- 将所有数据处理移至 Spark(最好是 PySpark),最终输出(面向消费者)数据仅用于 Redshift。 Spark 似乎可以很好地连接到所有各种来源(Dynamo DB、S3、Redshift)。根据客户需要输出到 Redshift/S3 等。这避免了拥有多个 Redshift 集群、损坏/过度使用内部不受支持的 ETL 工具、跨集群、视图和表等复制相同数据(这是当前设置)。
- 使用 Luigi 构建 Web UI 以每天监控管道并可视化依赖关系树,并安排 ETL。电子邮件通知也应该是失败的选项。另一种选择是 AWS 数据管道,但是,Luigi 似乎有更好的 UI 来处理涉及许多依赖项的情况(有些树有 5 层深,但也许这也可以通过更好的 Spark 代码来避免)。
问题:
- Luigi 是否与 Spark 集成(我之前只使用过 PySpark,没有使用过 Luigi,所以这对我来说是一个学习曲线)。计划是安排“应用程序”,我相信 Spark 实际上也有 ETL,所以不确定 Luigi 是如何在这里集成的?
- 如何解释某些管道可能是“实时的”这一事实 - 例如,我是否需要每小时启动 Spark / EMR 作业?
我也愿意接受想法/建议/更好的方法!
【问题讨论】:
标签: pyspark airflow amazon-emr luigi