Q:

Using Google ML Engine with BigQuery? 

I'm currently designing a data warehouse in BigQuery.  I'm planning to store user data like past purchases or abandoned carts. 
This seems to be perfect to manually analyze trends and to get insights.  But what if I want to leverage Machine Learning, e.g. to suggest products to a group of users? 
I have looked into Google ML Engine and TensorFlow, and it seems like the TensorFlow model would need to query BigQuery first.  In some scenarios, this could mean that TensorFlow would need to query all or most of the data that is stored in BigQuery. 
This feels a bit off, so I'm wondering if this is really how things are supposed to happen.  Otherwise, I assume that my ML model would have to work with stale data? 

A:

So I would agree with you, using BigQuery as a data warehouse for your ML is expensive.  It would be cheaper and much more efficient to use Google Cloud Storage to store all the data you wish to process.  Once everything is processed and generated, you may then wish to push that data to BigQuery  push that data to another source like Spanner or even Cloud Storage.  
That being said Google has now created a beta product BigQuery ML.  This now allows users to create and execute machine learning models in BigQuery via the use of SQL queries.  I believe it uses python and tensorflow under the hood, but I believe it would be the best solution given that you have a light weight ML load. 
Since it is still in beta as of now, I don't know well it's performance compares to Google ML engine and tensorflow.