J'ai un ensemble de fichiers sur HDFS. Puis-je directement charger ces fichiers dans mongoDB (en utilisant mongoimport) sans copier les fichiers de HDFS sur mon disque dur.Importer des données de HDFS vers MongoDB en utilisant mongoimport
Répondre
Enregistrez-vous des fichiers CSV/JSON dans HDFS? Si oui, vous avez juste besoin d'un moyen de mapping them to your filesystem afin que vous puissiez pointer mongoimport vers le fichier.
Alternativement, mongoimport prendra l'entrée de stdin sauf si un fichier est spécifié.
Vous pouvez utiliser mongoimport sans l'argument --file
, et la charge de stdin:
hadoop fs -text /path/to/file/in/hdfs/*.csv | mongoimport ...
Si nous parlons de gros volumes de données, je chercherais des solutions évolutives.
Nous avions un cas similaire d'ensemble de données sérieuses (plusieurs téraoctets) dans HDFS. Ces données, bien qu'avec une certaine transformation, devaient être chargées dans Mongo.
Ce que nous avons fait était de développer MapReduce Job qui exécute des données et chaque mappeur insère sa division de données dans mongodb via API.
Avez-vous essayé MongoInsertStorage?
Vous pouvez simplement charger l'ensemble de données à l'aide de cochon, puis utiliser MongoInsertStorage pour vider directement dans Mongo. Il lance en interne un groupe de cartographes qui font exactement ce qui est mentionné par la réponse de David Gruzman sur cette page. L'un des avantages de cette approche est le parallélisme et la rapidité que vous obtenez grâce à l'insertion simultanée de plusieurs mappeurs dans la collection Mongo.
Voici une coupe approximative de ce qui peut être fait avec le porc
REGISTER mongo-java-driver.jar
REGISTER mongo-hadoop-core.jar
REGISTER mongo-hadoop-pig.jar
DEFINE MongoInsertStorage com.mongodb.hadoop.pig.MongoInsertStorage();
-- you need this here since multiple mappers could spawn with the same
-- data set and write duplicate records into the collection
SET mapreduce.reduce.speculative false
-- or some equivalent loader
BIG_DATA = LOAD '/the/path/to/your/data' using PigStorage('\t');
STORE BIG_DATA INTO 'mongodb://hostname:27017/db USING MongoInsertStorage('', '');
Plus d'informations ici https://github.com/mongodb/mongo-hadoop/tree/master/pig#inserting-directly-into-a-mongodb-collection
- 1. Exportation de données de hdfs vers mongodb
- 2. Importer une date (ISODate) dans MongoDB en utilisant mongoimport
- 3. Comment importer des données contenant des guillemets doubles dans mongodb en utilisant mongoimport?
- 4. Importer des données HDFS vers Opentsdb
- 5. Importer des données csv en tant que tableau dans mongodb en utilisant mongoimport
- 6. Importer des données de HDFS vers Hive table
- 7. Importer des données de hdfs vers hbase créer une copie
- 8. Importer des données de mysql dans HDFS en utilisant Sqoop
- 9. Comment importer des données du fichier .sql.bz2 vers hdfs?
- 10. Importer des données de MySQL vers HDFS: ClassNotFoundException
- 11. importer des données d'oracle vers hdfs avec sqoop
- 12. importer des données de hbase vers hdfs en utilisant talend ou sqoop
- 13. Importer des données depuis Oracle (Windows) vers une machine HDFS (CDH3) en utilisant sqoop
- 14. Importer des données mysql vers hdfs (hadoop 2.4.1) en utilisant sqoop (1.4.5)
- 15. Comment importer Mongodb ObjectId à partir du fichier CSV en utilisant mongoimport?
- 16. comment importer un fichier json volumineux dans mongodb en utilisant mongoimport?
- 17. Comment importer des images vers HDFS? J'utilise CDH version 5.11
- 18. Erreur lors de l'importation de données de mongodb vers hdfs
- 19. MongoDB mongoimport upsert
- 20. Erreur lors de l'importation de données depuis MongoDb vers Hdfs
- 21. Importer des données de SQL vers MongoDB. Tout ou rien
- 22. Déplacement des données de hdfs vers sql
- 23. Comment importer un fichier JSON de formulaire vers MongoDb
- 24. Cron: Importer des données d'un service vers MongoDB (Meteor)
- 25. Déplacement de données HDFS dans MongoDB
- 26. Impossible d'importer des données CSV dans MongoDB avec mongoimport
- 27. Importer mongoDB dump vers arangoDB
- 28. Importer des données d'Excel vers MongoDB dans Talend
- 29. mongoimport n'a pas pu importer les données JSON
- 30. Importer des données à l'aide de sqoop dans HDFS beugs
Peut-on mettre directement le dossier contenant les CSVs de la charge BIG_DATA? ou avons-nous besoin de le boucler? – user3270763
@ user3270763 pas besoin de boucle – Nerrve