首页 > 解决方案 > PySpark 使用“Overwirte”模式保存到 Redshift 表会导致删除表?

问题描述

在 AWS Glue 中使用 PySpark 将数据从 S3 文件加载到 Redshift 表中,在代码使用模式(“Overwirte”)中出现错误,指出“无法删除表,因为其他对象依赖于表”,结果是创建了视图在该表的顶部,接缝“覆盖”模式实际上删除并重新创建红移表然后加载数据,是否有任何选项只能“截断”表而不删除它?

标签: pysparkaws-glue

解决方案


AWS Glue 使用databricks spark redshift 连接器(它没有在任何地方记录,但我凭经验验证了这一点)。Spark redshift 连接器的文档提到:

覆盖现有表:默认情况下,该库使用事务来执行覆盖,通过删除目标表、创建新的空表并向其追加行来实现。


推荐阅读