我在本地机器上创建了一个sklearn模型,然后将其上传到了Google存储。我使用相同的模型在AI平台上创建了模型和版本。它适用于在线预测。现在我想执行批量预测并将数据存储到Big Query中,以便每次我执行预测时都能更新Big Query表。
有人能建议我如何做吗?
回答:
目前AI平台不支持将预测结果写入BigQuery。
您可以使用Dataflow将预测结果写入BigQuery。这里有两个选项:
- 创建一个Dataflow作业,自行进行预测。
- 创建一个Dataflow作业,使用AI平台获取模型的预测。可能这会使用在线预测。
在这两种情况下,您都可以定义一个BigQuery接收器,以向您的表中插入新行。
或者,您可以使用Cloud Functions在GCS中出现新文件时更新BigQuery表。这种解决方案看起来像这样:
- 使用gcloud运行批量预测(`gcloud ml-engine jobs submit prediction … –output-path=”gs://[My Bucket]/batch-predictions/”`)
- 结果被写入多个文件:
gs://[My Bucket]/batch-predictions/prediction.results-*-of-NNNNN
- Cloud函数被触发以解析并将结果插入到BigQuery中。这篇Medium文章解释了如何设置此操作