"Spanner operation failed" 创建 NULL_FILTERED 个索引
"Spanner operation failed" creating NULL_FILTERED indexes
我无法在 Cloud Spanner tables 上创建索引,收到错误,"Spanner operation failed"。
即使将集群大小从 6 个节点增加到 16 个节点,我也无法在约 1200 万行上创建两个索引 table。
我做了什么:
- 在 3 节点集群上的 Spanner 中创建
objects
table
- Table 有 10-12 列,包括
STRING
、INT64
和一个 ARRAY<STRING>
- 主键是两列;分片值(
object_id
的散列值)和 object_id
- 已加载约 1200 万行
- Table 加载时没有索引(主键除外)
- 加载挂钩3节点;升级到 6 个节点
我试过的:
- 尝试建立三个索引(通过控制台中的 DDL)-- 收到 "Spanner operation failed"
- 增加了 Spanner 节点数,从 6 --> 12,
- 能够建立 3 个索引中的 1 个(
UNIQUE
在单个 STRING
列上)
- 试图建立其他两个索引(
UNIQUE NULL_FILTERED
在单个 STRING
列上)——收到 "Spanner operation failed"
- 增加了 Spanner 节点,从 12 --> 16(帐户最大值)
- 试图建立其他两个索引(
UNIQUE NULL_FILTERED
在单个 STRING
列上)——收到 "Spanner operation failed"
我还尝试了什么(更新):
- 删除了
NULL_FILTERED
子句并尝试建立其他两个索引。没有解决,仍然无法构建。
来自 GCS 的响应:
我们的产品团队找到了无法创建索引的原因。看起来,在数据中,您有两个不唯一的条目,因此会造成唯一性违规 [1] 并阻止创建索引。此错误在索引尝试之前抛出,这就是索引创建甚至在尝试之前就失败的原因。
您可以使用查询来查找重复条目:
SELECT column, count(column)
FROM table
GROUP BY column
HAVING COUNT(column) > 1
您可以修改此查询以同时搜索所有键或在每次搜索后修改它。处理完重复项后,您应该能够管理这些条目并再次 运行 创建索引。
我希望 Spanner 团队可以修复此错误并 return 在未来的版本中纠正错误。
我无法在 Cloud Spanner tables 上创建索引,收到错误,"Spanner operation failed"。
即使将集群大小从 6 个节点增加到 16 个节点,我也无法在约 1200 万行上创建两个索引 table。
我做了什么:
- 在 3 节点集群上的 Spanner 中创建
objects
table - Table 有 10-12 列,包括
STRING
、INT64
和一个ARRAY<STRING>
- 主键是两列;分片值(
object_id
的散列值)和object_id
- 已加载约 1200 万行
- Table 加载时没有索引(主键除外)
- 加载挂钩3节点;升级到 6 个节点
我试过的:
- 尝试建立三个索引(通过控制台中的 DDL)-- 收到 "Spanner operation failed"
- 增加了 Spanner 节点数,从 6 --> 12,
- 能够建立 3 个索引中的 1 个(
UNIQUE
在单个STRING
列上) - 试图建立其他两个索引(
UNIQUE NULL_FILTERED
在单个STRING
列上)——收到 "Spanner operation failed" - 增加了 Spanner 节点,从 12 --> 16(帐户最大值)
- 试图建立其他两个索引(
UNIQUE NULL_FILTERED
在单个STRING
列上)——收到 "Spanner operation failed"
我还尝试了什么(更新):
- 删除了
NULL_FILTERED
子句并尝试建立其他两个索引。没有解决,仍然无法构建。
来自 GCS 的响应:
我们的产品团队找到了无法创建索引的原因。看起来,在数据中,您有两个不唯一的条目,因此会造成唯一性违规 [1] 并阻止创建索引。此错误在索引尝试之前抛出,这就是索引创建甚至在尝试之前就失败的原因。
您可以使用查询来查找重复条目:
SELECT column, count(column)
FROM table
GROUP BY column
HAVING COUNT(column) > 1
您可以修改此查询以同时搜索所有键或在每次搜索后修改它。处理完重复项后,您应该能够管理这些条目并再次 运行 创建索引。
我希望 Spanner 团队可以修复此错误并 return 在未来的版本中纠正错误。