图算法概览
Spanner Graph 与 Google 研究 Graph Mining 协作,提供了一套高性能图算法,涵盖了欺诈检测、实体解析和推荐等主要应用场景。这些算法可扩展到数百亿条边,运行时间从几分钟到十几分钟不等。您可以在 Spanner Graph 查询中调用算法函数,以在 Spanner Graph 上运行算法。
全托管式
Spanner Graph 算法是一项全代管式服务,它使用 Spanner Data Boost 和独立的按需计算资源,非常适合大规模图分析工作负载。借助此架构,您可以运行计算密集型图算法,同时对预配的 Spanner 实例上的现有工作负载几乎不造成影响。
无缝 GQL 集成
图表算法在 Spanner Graph 查询中以内置函数调用的形式调用。您可以将算法输出导出到 Cloud Storage,也可以将其写回 Spanner 以扩充图。您可以使用 Google Cloud 控制台、Google Cloud CLI、客户端库、REST API 或 RPC API 来运行包含算法调用的 Spanner Graph 查询,就像运行任何其他 Spanner Graph 查询一样。
以下示例展示了如何在名为 FinGraph 的图中运行连通分量分析,以识别由 Transfers 连接的 Accounts 集群,并将输出持久保存到 Cloud Storage 中,保存为 my-bucket-name/my-output.csv。如需了解详情,请参阅运行算法。
EXPORT DATA OPTIONS (
uri = "gs://my-bucket-name/my-output.csv",
format = "csv"
) AS
GRAPH FinGraph
CALL WeaklyConnectedComponents(node_labels => ['Account'], edge_labels => ['Transfers']) YIELD node, cluster
RETURN node.id, cluster;
结算
Spanner Graph 算法使用 Spanner Data Boost 和独立的计算资源来执行算法。您只需为算法计算处于活跃状态时实际消耗的无服务器处理单元 (SPU) 付费。您可以在 Google Cloud 控制台中查看图算法结算信息
- 前往“结算报告”页面
- 在过滤条件面板中,将 SKU 过滤为使用图算法的每个区域的 Spanner Data Boost SKU。
如需详细了解 Spanner 价格,请参阅 Spanner 价格。
权限
如需调用图算法,主账号必须具有 spanner.databases.runGraphAlgorithms Identity and Access Management (IAM) 权限。您可以通过授予 roles/spanner.graphIntelligenceUser IAM 来管理此权限,也可以创建具有 spanner.databases.runGraphAlgorithms 权限的自定义角色。请注意,roles/spanner.graphIntelligenceUser 包含 roles/spanner.databaseReaderWithDataBoost。