Uno scienziato di dati ha creato un modello BigQuery ML. È necessario fornire previsioni per utente tramite un'API REST con una latenza inferiore a 100 ms. La query di previsione è: SELECT predicted_label, user_id FROM ML.PREDICT(MODEL 'dataset.model', TABLE user_features). Come si dovrebbe costruire la pipeline di serving?
Scegli una risposta
Tocca un'opzione per controllare la tua risposta.
Risposta corretta: Creare una pipeline Dataflow che legga tutte le previsioni utente dalla query tramite BigQueryIO, scriva le previsioni su Bigtable con BigtableIO e conceda all'account di servizio dell'app il ruolo Bigtable Reader in modo che l'API possa recuperare le previsioni per utente..
Perché questa è la risposta
L'opzione corretta è creare una pipeline Dataflow che precalcoli e memorizzi le previsioni in Bigtable. BigQuery ML è ottimizzato per l'addestramento e le previsioni batch, non per previsioni a bassa latenza per singolo utente tramite API REST. Eseguire direttamente ML.PREDICT per ogni richiesta API comporterebbe latenze inaccettabili. Bigtable è un database NoSQL a bassa latenza, ideale per servire dati precalcolati con accesso rapido tramite chiave (come userid). Dataflow è lo strumento appropriato per orchestrare il processo di lettura delle previsioni da BigQuery ML e scriverle in Bigtable. Le altre opzioni non soddisfano il requisito di bassa latenza: la clausola WHERE con ML.PREDICT non risolve la latenza intrinseca di BigQuery per query puntuali; una vista autorizzata non cambia il comportamento di latenza di BigQuery; un job Dataflow che esegue la query ad ogni richiesta API sarebbe inefficiente e lento.
Supera il tuo esame — senza l'infinita caccia alle risposte
Ottieni ogni domanda e spiegazione verificata per questo esame in un unico posto, e risparmia ore di preparazione. Oltre 1.000 certificazioni · Oltre 20 lingue · Inizia gratuitamente.
Supera il tuo esame più velocemente → Nessuna carta richiesta