sql >> Database teknologi >  >> NoSQL >> MongoDB

Indlæs gnistdata i Mongo / Memcached til brug af en webservice

Du kan ikke forespørge en RDD direkte på denne måde. Tænk på dit Spark-job som en stream-processor. Hvad du kan gøre er at skubbe den opdaterede model til en "butik", såsom en database (med en brugerdefineret API eller JDBC), et filsystem eller memcached. Du kan endda foretage et webserviceopkald fra Spark-koden.

Uanset hvad du gør, skal du passe på, at tiden til at behandle hver batch af data, inklusive I/O, er langt under den intervaltid, du angiver. Ellers risikerer du flaskehalse, der i sidste ende kan gå ned.

En anden ting at holde øje med er tilfældet, hvor du har dine modeldata i mere end én RDD-partition spredt over klyngen (hvilket selvfølgelig er standard). Hvis rækkefølgen af ​​dine "optegnelser" ikke betyder noget, så er det fint at skrive dem ud parallelt. Hvis du har brug for en specifik samlet ordre skrevet ud sekventielt (og dataene virkelig ikke er store), skal du ringe til collect for at bringe dem ind i én datastruktur i hukommelsen i din driverkode (hvilket vil betyde netværkstrafik i et distribueret job), så skriv derfra.




  1. Mongodb opdateringsoperation inde i underarray

  2. $match i $opslagsresultat

  3. Mongo $i operatørydelse

  4. Mongoose sorteres efter befolket felt