PySpark使用" Overwirte"保存到Redshift表。模式导致丢桌?

时间:2018-05-21 05:50:10

标签: pyspark aws-glue

在AWS Glue中使用PySpark将数据从S3文件加载到Redshift表,在代码使用模式下(" Overwirte")出现错误,表示"因为其他对象而无法删除表取决于表",结果表明在该表的顶部创建了视图,接合"覆盖"模式实际上下降并重新创建redshift表然后加载数据,是否有任何选项只有"截断"桌子没掉线吗?

2 个答案:

答案 0 :(得分:0)

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

  

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

答案 1 :(得分:0)

这里有一个相关的讨论内联你的问题,他们使用truncate而不是overwrite,也是lambda和amp;的组合。胶。有关详细讨论和代码示例,请参阅here。希望这会有所帮助。

问候