J’analyse des journaux d’accès générés par Apache, Nginx, Darwin (serveur de streaming vidéo) et j’agrège des statistiques pour chaque fichier distribué par date / référent / agent utilisateur.
Des tonnes de journaux sont générés toutes les heures et ce nombre est susceptible d’augmenter considérablement dans un avenir proche - donc le traitement de ce type de données de manière distribuée via Amazon Elastic MapReduce semble raisonnable.
Actuellement, j’ai mes mappers et reducers prêts pour traiter mes données et j’ai testé l’ensemble du processus avec le flux suivant :
-
Téléversement des mappers, reducers et données vers Amazon S3
-
Configuration du job approprié et traitement réussi
-
Téléchargement des résultats agrégés depuis Amazon S3 vers mon serveur et insertion dans la base de données MySQL via un script CLI
J’ai fait cela manuellement selon les milliers de tutoriels trouvables sur Internet concernant Amazon EMR.
Que dois-je faire ensuite ? Quelle est la meilleure approche pour automatiser ce processus ?
-
Dois-je contrôler le jobTracker d’Amazon EMR via l’API ?
-
Comment puis-je m’assurer que mes journaux ne seront pas traités deux fois ?
-
Quelle est la meilleure façon de déplacer les fichiers traités vers l’archive ?
-
Quelle est la meilleure approche pour insérer les résultats dans PostgreSQL/MySQL ?
-
Comment les données pour les jobs doivent-elles être organisées dans les répertoires d’entrée/sortie ?
-
Dois-je créer un nouveau job EMR à chaque fois en utilisant l’API ?
-
Quelle est la meilleure approche pour téléverser les journaux bruts vers Amazon S3 ?
-
Quelqu’un peut-il partager sa configuration du flux de traitement des données ?
-
Comment contrôler les téléversements de fichiers et les complétions de jobs ?
Je pense que ce sujet peut être utile pour beaucoup de personnes qui essaient de traiter des journaux d’accès avec Amazon Elastic MapReduce mais qui n’ont pas pu trouver de bons matériaux et/ou de bonnes pratiques.
MISE À JOUR : Pour clarifier, voici la question finale unique :
Quelles sont les bonnes pratiques pour le traitement de journaux propulsé par Amazon Elastic MapReduce ?
Articles connexes :
Getting data in and out of Elastic MapReduce HDFS
Source : Stack Overflow