Un científico de datos creó un modelo de BigQuery ML. Debe entregar predicciones por usuario a través de una API REST con una latencia inferior a 100 ms. La consulta de predicción es: SELECT predicted_label, user_id FROM ML.PREDICT(MODEL 'dataset.model', TABLE user_features). ¿Cómo debe construir el pipeline de servicio?
Elige una respuesta
Toca una opción para verificar tu respuesta.
Respuesta correcta: Cree un pipeline de Dataflow que lea todas las predicciones de usuario de la consulta a través de BigQueryIO, escriba las predicciones en Bigtable con BigtableIO y otorgue a la cuenta de servicio de la aplicación el rol Bigtable Reader para que la API pueda obtener predicciones por usuario..
Por qué esta es la respuesta
La opción correcta es construir un pipeline de Dataflow para precalcular y almacenar las predicciones en Bigtable. BigQuery ML es excelente para el entrenamiento y la predicción por lotes, pero no está optimizado para servir predicciones de baja latencia por usuario directamente a través de una API REST. Bigtable es una base de datos NoSQL de baja latencia, ideal para almacenar y recuperar predicciones por clave de usuario en tiempo real. Dataflow permite procesar las predicciones de BigQuery ML de forma eficiente y escribirlas en Bigtable. La API puede entonces consultar Bigtable directamente con latencia inferior a 100 ms. Las otras opciones son incorrectas porque: Agregar una cláusula WHERE a ML.PREDICT aún consulta BigQuery, que no cumple con el requisito de latencia. Crear una vista autorizada no cambia el rendimiento de la consulta subyacente de BigQuery. Un trabajo de Dataflow ejecutando la consulta en tiempo real seguiría consultando BigQuery para cada solicitud, lo que es demasiado lento.
Aprueba tu examen — sin la interminable búsqueda de respuestas
Obtén todas las preguntas y explicaciones verificadas para este examen en un solo lugar, y ahorra horas de preparación. Más de 1,000 certificaciones · Más de 20 idiomas · Empieza gratis.
Aprueba tu examen más rápido → No se requiere tarjeta