je voudrais ajouter un sous-ensemble spécifique d'enregistrements à fusionner avec chaque morceau de dossiers à chaque cartographe, Comment puis-je faire dans Hadoop en général? et dans le paquet de streaming Python mrJob?Partager des données spécifiques entre chaque mappeur
Répondre
DistributedCache est une installation fournie par la carte -Réduire l'infrastructure pour mettre en cache les fichiers (texte, archives, bocaux, etc.) nécessaires aux applications.
Applications spécifient les fichiers, via urls (HDFS: // ou http: //) être mis en cache via le JobConf. Le DistributedCache suppose que les fichiers spécifiés via HDFS: // urls sont déjà présentes sur le FileSystem au chemin d'accès spécifié par l'URL.
Le cadre copie les fichiers nécessaires sur le nœud esclave avant toutes les tâches pour le travail sont exécutées sur ce nœud. Son efficacité provient du fait que les fichiers ne sont copiés qu'une fois par travail et de la possibilité de mettre en cache les archives qui ne sont pas archivées sur les esclaves. DistributedCache peut être utilisé pour distribuer des fichiers de données/textes simples et en lecture seule et/ou des types plus complexes tels que des archives, des bocaux, etc. Les archives (fichiers zip, tar et tgz/tar.gz) ne sont pas archivées à l'adresse suivante: http://www.google.com/support. les nœuds esclaves. Les bocaux peuvent être éventuellement ajoutés au chemin de classe des tâches, un mécanisme de distribution logicielle rudimentaire. Les fichiers ont des autorisations d'exécution. Facultativement, les utilisateurs peuvent également lui indiquer de créer un lien symbolique entre le (s) fichier (s) de cache distribué (s) et le répertoire de travail de la tâche.
DistributedCache pistes horodatages de modification des fichiers de cache. Il est clair que les fichiers de cache ne doivent pas être modifiés par l'application ou de manière externe pendant l'exécution du travail.
Pour Python mrJob: -
Je pense que vous devez utiliser
mrjob.compat.supports_new_distributed_cache_options (version)
Et puis utilisez -files et -Politique au lieu de - cacheFile et -cacheArchive
Peut être vous obtiendrez plus here
Je ne sais pas ce que vous avez tout à fait d'essayer de le faire, mais peut-être que vous pouvez utiliser la fonction Distributed Cache pour y parvenir.
cas d'utilisation de l'échantillon pour le cache distribué:
Input to mapper: customer reviews
You want to process only those reviews which contain certain keywords, which are stored in a "words.txt" file.
You can put words.txt into the Distributed Cache, which makes it available to the mapper & reducer.
Je ne sais pas exactement comment il est fait pour Python streaming, mais il ne devrait pas être difficile à comprendre
- 1. partager des données entre directives
- 2. Partager des données entre les processus mod_python
- 3. Partager des données entre des applications tierces
- 4. Partager des données dll entre différents processus
- 5. Comment partager des données entre plusieurs vues
- 6. Partager des données entre bash et php
- 7. Comment partager des données entre les threads?
- 8. Partager des données entre services Web
- 9. Comment partager des données entre les classes?
- 10. Partager des données de base entre applications
- 11. Android studio - partager des données entre l'activité
- 12. Partager des données entre les appareils (Swift)
- 13. Comment partager (utiliser) des données entre deux bases de données?
- 14. Comment partager des données entre des travaux planifiés
- 15. Partager des DLL entre projets
- 16. Partager une bibliothèque LotusScript entre des bases de données
- 17. Comment partager des données entre des pages http et https?
- 18. Comment partager des données entre des procédures stockées
- 19. Comment partager des données entre les onglets du navigateur?
- 20. Partager des ressources entre dlls
- 21. Comment partager des données entre les grilles ExtJS
- 22. Partager des propriétés entre plusieurs classes
- 23. TTK Notebook Partager des données entre les onglets importés
- 24. répliquer des données spécifiques entre 2 bases de données mysql
- 25. PHP MySQL Sélection de données entre une ligne contenant des données spécifiques et une ligne contenant des données spécifiques
- 26. Comment partager des données entre différents modules dans requirejs, javascript
- 27. Tomcat: Comment partager des données entre deux applications?
- 28. Google Analytics: partager des données entre plusieurs comptes?
- 29. Partager des données entre Activités/Présentateurs dans GWT
- 30. Comment puis-je partager des données entre threads?