一位数据科学家创建了一个 BigQuery ML 模型。您必须通过 REST API 提供每个用户的预测,且延迟低于 100 毫秒。预测查询为:SELECT predicted_label, user_id FROM ML.PREDICT(MODEL 'dataset.model', TABLE user_features)。您应该如何构建服务管道?
选择一个答案
点击一个选项来检查您的答案。
正确答案: 创建一个 Dataflow 流水线,通过 BigQueryIO 从查询中读取所有用户预测,使用 BigtableIO 将预测写入 Bigtable,并授予应用程序服务账号 Bigtable Reader 角色,以便 API 可以获取每个用户的预测。.
为什么这是答案
正确答案是创建一个 Dataflow 流水线,将 BigQuery ML 预测结果写入 Bigtable。这是因为 BigQuery ML 的 ML.PREDICT 查询在执行时可能需要较长时间,无法满足 100 毫秒的低延迟要求。将所有用户的预测结果预先写入低延迟的 NoSQL 数据库(如 Bigtable),API 就可以通过 userid 快速检索到单个用户的预测,从而满足延迟要求。Dataflow 负责高效地处理和传输数据,Bigtable 则提供毫秒级的读写性能。 其他选项不正确的原因: 在 ML.PREDICT 查询中添加 WHERE 子句并不能保证低延迟,因为每次查询仍然需要 BigQuery ML 模型进行推理,这可能超过 100 毫秒。 为预测查询创建授权视图并共享数据集,同样无法解决 BigQuery ML 推理本身的延迟问题。 使用 Dataflow 作业直接运行查询并让 worker 返回结果,本质上与直接查询 BigQuery 类似,仍然受限于 BigQuery ML 的推理时间,无法满足低延迟要求。
通过考试 — 无需无休止地寻找答案
将本次考试的所有验证问题和解释集中在一处,节省数小时的准备时间。1,000+ 认证 · 20+ 语言 · 免费开始。
更快通过考试 → 无需银行卡