我目前正在 BigQuery 中设计一个数据仓库。我计划存储用户数据,例如过去的购买或废弃的购物车。
这似乎非常适合手动分析趋势并获取见解。但是,如果我想利用机器学习,例如向一组用户推荐产品? 我研究了 Google ML Engine 和 TensorFlow,似乎 TensorFlow 模型需要首先查询 BigQuery。在某些情况下,这可能意味着 TensorFlow 需要查询 BigQuery 中存储的全部或大部分数据。
这感觉有点不对劲,所以我想知道事情是否真的应该这样发生。否则,我假设我的机器学习模型必须使用过时的数据?
最佳答案
所以我同意你的观点,使用 BigQuery 作为机器学习的数据仓库是昂贵的。使用 Google Cloud Storage 来存储您想要处理的所有数据会更便宜、更高效。处理和生成所有内容后,您可能然后希望将该数据推送到 BigQuery,将该数据推送到 Spanner 甚至 Cloud Storage 等其他来源。
话虽这么说,Google 现在已经创建了一个测试版产品 BigQuery ML 。现在,用户可以通过使用 SQL 查询在 BigQuery 中创建和执行机器学习模型。我相信它在底层使用了 python 和 tensorflow,但我相信考虑到您的 ML 负载较轻,这将是最好的解决方案。
由于它目前仍处于测试阶段,我不太清楚它与 Google ML 引擎和 Tensorflow 相比的性能。
关于machine-learning - 将 Google ML Engine 与 BigQuery 结合使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48127069/