Een data scientist heeft een BigQuery ML-model gemaakt. Je moet per-gebruiker voorspellingen leveren via een REST API met een latentie van <100 ms. De voorspellingsquery is: SELECT predicted_label, user_id FROM ML.PREDICT(MODEL 'dataset.model', TABLE user_features). Hoe moet je de serving-pipeline bouwen?
Kies een antwoord
Tik op een optie om je antwoord te controleren.
Correct antwoord: Maak een Dataflow-pipeline die alle gebruikersvoorspellingen van de query leest via BigQueryIO, schrijf voorspellingen naar Bigtable met BigtableIO, en verleen het app-serviceaccount de Bigtable Reader-rol zodat de API per-gebruiker voorspellingen kan ophalen..
Waarom dit het antwoord is
De correcte aanpak is om een Dataflow-pipeline te gebruiken om alle voorspellingen te genereren en deze op te slaan in Bigtable. Bigtable is een NoSQL-database die is geoptimaliseerd voor lage-latentie, hoge-doorvoer lees- en schrijfoperaties, wat essentieel is voor het voldoen aan de <100 ms latentievereiste voor per-gebruiker voorspellingen via een REST API. De API kan vervolgens snel de voorspellingen ophalen uit Bigtable. De andere opties zijn minder geschikt: Een WHERE-clausule toevoegen aan ML.PREDICT en BigQuery Data Viewer rechten verlenen, zal niet voldoen aan de latentievereiste. BigQuery is geoptimaliseerd voor analytische workloads, niet voor lage-latentie point lookups. Een geautoriseerde view maken en de dataset delen, lost het latentieprobleem van BigQuery niet op. Een Dataflow-taak die de query uitvoert en resultaten retourneert via Dataflow-workers, is ook niet optimaal voor lage-latentie per-gebruiker verzoeken. Dataflow is ontworpen voor batch- of streamingverwerking, niet voor het direct serveren van individuele API-aanroepen.
Slaag voor je examen — zonder eindeloos zoeken naar antwoorden
Krijg elke geverifieerde vraag en uitleg voor dit examen op één plek, en bespaar uren voorbereiding. Meer dan 1.000 certificeringen · Meer dan 20 talen · gratis om te beginnen.
Slaag sneller voor je examen → Geen kaart nodig