You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

BigQuery中PREDICT函数找不到错误求助

解决BigQuery中PREDICT/ML.PREDICT函数找不到的问题

核心问题分析

你的SQL语法存在错误:BigQuery ML的ML.PREDICT是表值函数,不能作为标量函数在SELECT列中直接调用。你当前的写法将其当作普通函数使用,导致系统无法识别该函数。

正确解决方案

1. 修正SQL语法(关键)

将ML.PREDICT放在FROM子句中,通过JOIN关联的方式获取预测结果。针对你的K-means聚类模型,正确的写法示例如下:

SELECT
  t.*,
  p.cluster_id AS Almanya_Kume
FROM
  `bigqueryml-417120.Kredi_Analizi.KrediTablo` t
JOIN
  ML.PREDICT(
    MODEL `bigqueryml-417120.Kredi_Analizi.kmeans_model_germany`,
    -- 传入需要预测的数据集,与原表过滤条件一致
    (SELECT 
       Kredi_Notu, Kadin, Erkek, Yas, Kullanim_Hakki, 
       Bakiye, Hesap_Sayisi, Kredi_Karti, Tahmini_Maas 
     FROM `bigqueryml-417120.Kredi_Analizi.KrediTablo` 
     WHERE Almanya = 1 AND Cikti = 1)
  ) p
-- 通过特征列关联原表和预测结果,确保行匹配
ON
  t.Kredi_Notu = p.Kredi_Notu
  AND t.Kadin = p.Kadin
  AND t.Erkek = p.Erkek
  AND t.Yas = p.Yas
  AND t.Kullanim_Hakki = p.Kullanim_Hakki
  AND t.Bakiye = p.Bakiye
  AND t.Hesap_Sayisi = p.Hesap_Sayisi
  AND t.Kredi_Karti = p.Kredi_Karti
  AND t.Tahmini_Maas = p.Tahmini_Maas
WHERE
  t.Almanya = 1 AND t.Cikti = 1;

2. 额外检查点

  • 模型引用完整性:确保模型使用完整路径project.dataset.model,之前的代码未指定项目IDbigqueryml-417120,可能导致模型查找失败,上述示例已补充完整路径。
  • 特征匹配:确认预测时传入的特征与模型训练时使用的特征完全一致(名称、数据类型、数量)。
  • SQL方言:确保使用BigQuery标准SQL(默认启用,Legacy SQL不支持ML.PREDICT)。

内容的提问来源于stack exchange,提问作者Veysel Aba

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 09:26:32