pyspark - PySpark 使用“Overwirte”模式保存到 Redshift 表会导致删除表?
问题描述
在 AWS Glue 中使用 PySpark 将数据从 S3 文件加载到 Redshift 表中,在代码使用模式(“Overwirte”)中出现错误,指出“无法删除表,因为其他对象依赖于表”,结果是创建了视图在该表的顶部,接缝“覆盖”模式实际上删除并重新创建红移表然后加载数据,是否有任何选项只能“截断”表而不删除它?
解决方案
AWS Glue 使用databricks spark redshift 连接器(它没有在任何地方记录,但我凭经验验证了这一点)。Spark redshift 连接器的文档提到:
覆盖现有表:默认情况下,该库使用事务来执行覆盖,通过删除目标表、创建新的空表并向其追加行来实现。
推荐阅读
- java - 如何修复“由于服务空对象引用而导致音频流 Android 应用程序崩溃”
- javascript - 构建失败 react-native 0.6.5 我们运行了“xcodebuild”命令,但它以错误代码 65 退出
- javascript - 从 js 文件导入的函数,不在 TS 文件中运行
- angular - 使用 rxjs 更改成员名称
- php - 我想更改 php 分机。到 html 分机。并禁用对 php ext 的直接访问
- php - 为什么当我使用初始化方法的类型指示参数时它会返回错误?
- elasticsearch - 如何分离 Elastic APM 代理?
- angular - 如何在firebase实时数据库中设置数据值?
- c# - 如何使用社交分享插件向 whatsapp 群组发送短信
- python - 使用 PyQt 的 QLineEdit 滚动条