三角洲湖限制S3

本文详细介绍一些你工作时可能会遇到的限制与数据存储在S3三角洲湖砖。最终一致的模型中使用Amazon S3会导致潜在问题当多个系统或集群同时修改同一表中的数据。

砖和三角洲湖支持多集群写道在默认情况下,这意味着查询写入表同时从多个集群不会腐败。三角洲表存储在S3,这保证仅限于单个砖工作区。

警告

为了避免潜在的数据丢失和数据丢失问题,砖建议您不要修改相同的三角洲表存储在S3中从不同的工作区。

多集群在S3写道的局限性是什么?

不支持以下特性以这种模式运行时:

你可以禁用多集群通过设置写道spark.databricks.delta.multiClusterWrites.enabled。如果他们被禁用,写入一个表必须源自一个集群。

警告

禁用spark.databricks.delta.multiClusterWrites.enabled和修改相同的表从三角洲多个同时集群可能导致数据丢失或数据损坏。

为什么我删除三角洲湖数据仍然存储在S3中吗?

如果您使用的是三角洲湖,你使桶版本S3 bucket,你有两个实体管理表文件:三角洲湖和AWS。确保数据是完全删除,你必须:

  • 清理删除文件中不再三角洲湖使用事务日志真空

  • 启用一个S3版本对象的生命周期政策,确保删除旧版本的文件被清除。

为什么一个表显示旧的数据在我删除三角洲湖文件rm射频并创建一个新表在相同的位置吗?

删除在S3只是最终一致。因此表删除旧版本的事务日志后可能仍然是可见的。为了避免这种情况,不重用一个表路径后删除它。相反,我们建议您使用事务机制删除,覆盖,overwriteSchema删除和更新表。看到最佳实践来取代一个表