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

hvordan man gemmer behandlede data fra hdfs ved hjælp af mapReduce i mongoDB som output

Dybest set, hvad du har brug for er at ændre "outputformatklassen", og du har flere måder der:

  1. Brug MongoDB Connector til Hadoop :http://docs.mongodb.org/ecosystem/tools /hadoop/?_ga=1.111209414.370990604.1441913822
  2. Implementer dit eget OutputFormat :https://hadoop. apache.org/docs/r2.7.0/api/org/apache/hadoop/mapred/OutputFormat.html (I stedet for at bruge FileOutputFormat).
  3. Udfør mongodb-forespørgsler inde i reduceringen i stedet for at skrive i MapREduce-konteksten (Ikke rart, du kan ende med tomme udgangsfiler i HDFS afhængigt af det outputformat, der er angivet i driveren)

Efter min mening er mulighed 1 den bedste mulighed, men jeg har ikke brugt MongoDB-stik til at sige, om det er nok stabilt og funktionelt. Mulighed 2 kræver, at du virkelig forstår, hvordan fungerer hadoop underhood for at undgå at ende med en masse åbne forbindelser og problemer med transaktioner og genforsøg på hadoop-opgaver.




  1. Gendan redis-data fra slave til master

  2. MongoDB Geospatial Query Count Issue (altid 100)

  3. Grundlæggende om implementering af et MongoDB-replikasæt og -skår ved hjælp af dukke

  4. Meteor ved hjælp af Azure MongoDB