Apache spark 当使用Spark和Redshift时,如何优化ETL数据管道以实现容错?
我正在使用PySpark编写一个大批量作业,该作业将ETL 200个表并加载到Amazon Redshift中。 这200个表是从一个输入数据源创建的。因此,只有当数据成功加载到所有200个表中时,批处理作业才会成功。批处理作业每天运行,同时为每个日期将数据添加到表中 对于容错性、可靠性和幂等性,我当前的工作流程如下:Apache spark 当使用Spark和Redshift时,如何优化ETL数据管道以实现容错?,apache-spark,amazon-redshift,spark-redshift,Apache Spark,Amazon Redshift,Spark Redshift,我正在使用PySpark编写一个大批量作业,该作业将ETL 200个表并加载到Amazon Redshift中。 这200个表是从一个输入数据源创建的。因此,只有当数据成功加载到所有200个表中时,批处理作业才会成功。批处理作业每天运行,同时为每个日期将数据添加到表中 对于容错性、可靠性和幂等性,我当前的工作流程如下: 使用暂存表。使用创建临时红移表,如 将数据转换并加载到临时表中 对200个其他表格重复1-2 开始BEGIN事务 将临时表数据复制到目标表中 使用插入到SELECT*FROM 结
创建临时红移表,如
BEGIN
事务插入到SELECT*FROM
结束
交易删除所有暂存表
谢谢,复制命令可以在事务块中。你只需要: