Cloud Spanner相似性搜索教程执行ML函数报错:粒度实例不支持ML功能
问题解决:ML functions are not available in granular instances
核心原因
Cloud Spanner的ML相关功能(包括ML.PREDICT)仅支持实例层级预留实例(Instance-level reserved instances),不兼容细粒度(Granular)预留实例或按需实例,这就是触发错误的直接原因。
解决步骤
- 核查当前实例类型:登录GCP控制台进入Spanner实例详情页,确认计费模式是否为「细粒度预留」或「按需」。
- 创建实例层级预留实例:新建Spanner实例时选择「实例层级预留」模式,节点数至少配置1个,确保实例所在区域支持Spanner ML(如us-central1、europe-west1等)。
- 迁移数据与模型:将原
apparels表数据和text_embeddings模型迁移至新实例中。 - 重新执行SQL:在新的实例层级预留实例内运行你提供的CREATE TABLE和INSERT语句,即可正常调用
ML.PREDICT功能。
注意事项
- 实例层级预留实例与细粒度实例计费模式不同,切换前请评估成本差异。
- 若需保留原实例名称,可先备份数据后删除旧实例,再用相同名称创建实例层级预留实例。
内容的提问来源于stack exchange,提问作者WJA
相关产品推荐
相关产品推荐

