sql >> Databasteknik >  >> NoSQL >> MongoDB

Ladda gnistdata i Mongo / Memcached för användning av en webbtjänst

Du kan inte fråga en RDD direkt på detta sätt. Tänk på ditt Spark-jobb som en stream-processor. Vad du kan göra är att skicka den uppdaterade modellen till någon "butik", till exempel en databas (med ett anpassat API eller JDBC), ett filsystem eller memcachad. Du kan till och med ringa ett webbtjänstsamtal från Spark-koden.

Vad du än gör, var noga med att tiden för att bearbeta varje batch av data, inklusive I/O, ligger långt under den intervalltid du anger. Annars riskerar du flaskhalsar som så småningom kan krascha.

En annan sak att titta på är fallet där du har din modelldata i mer än en RDD-partition utspridda över klustret, (vilket är standard såklart). Om ordningen på dina "skivor" inte spelar någon roll, går det bra att skriva ut dem parallellt. Om du behöver en specifik totalorder skriven ut sekventiellt (och data verkligen inte är stor), ring collect för att få dem till en datastruktur i minnet i din förarkod (vilket kommer att innebära nätverkstrafik i ett distribuerat jobb), skriv sedan därifrån.




  1. Logga in med root-uppgifter på Mongodb-behållare skapad med Docker compose

  2. Skickar kryssrutavärden till databasen med JavaScript

  3. Hur tar man bort dubbletter baserade på en nyckel i Mongodb?

  4. Uppdatera array med flera villkor i mongodb