Google cloud platform 截断Google扳手表而不删除并重新创建该表

Google cloud platform 截断Google扳手表而不删除并重新创建该表,google-cloud-platform,google-cloud-spanner,Google Cloud Platform,Google Cloud Spanner,我们正在使用Spaner db暂存大型数据集,我们希望在计划的基础上截断表。该表随时可以容纳超过2500万行。我们希望在不删除和重新创建表的情况下截断表。GCP中的选项是什么 目前,我们使用-enable partitioned dml选项手动运行Gcloud命令,该命令在删除

我们正在使用Spaner db暂存大型数据集,我们希望在计划的基础上截断表。该表随时可以容纳超过2500万行。我们希望在不删除和重新创建表的情况下截断表。GCP中的选项是什么

目前,我们使用-enable partitioned dml选项手动运行Gcloud命令,该命令在删除<1M行后超时。请提出更好的方法


gcloud扳手数据库执行sql db name-sql=delete from tableName,其中在Cloud扳手中仍然不支持扳手committsTruncate。您可以根据您的数据尝试使用KeyRange或KeySet的Mutation.delete方法,以避免20k突变限制


为了避免体力劳动,您可以编写一个Google数据流作业,该作业可以使用span从表中读取数据,然后使用span.write for mutation进行删除,也可以是使用mutatons.delete的自定义p转换,以根据您的要求进行删除。

1解决方法是针对不同的密钥范围同时执行多个分区DML删除在主键上使用WHERE子句。这将加快删除速度

2 gcloud panner databases execute sql db name命令还具有超时选项。尝试将其增加到更高的值。
从下面的内容来看,默认超时时间是10分钟。因此,增加此值会有所帮助。

谢谢。超时选项在使用gcloud手动运行时帮助了我:-0。