4 votes

Mise en œuvre de l'analyse des fichiers journaux à grande échelle

Quelqu'un peut-il m'indiquer une référence ou me donner une vue d'ensemble de la façon dont des entreprises comme Facebook, Yahoo, Google, etc. effectuent l'analyse des journaux à grande échelle (par exemple, une gamme de plusieurs TB) qu'elles font pour les opérations et surtout pour les analyses Web ?

En me concentrant sur l'analyse web en particulier, je m'intéresse à deux aspects étroitement liés : la performance des requêtes et le stockage des données.

Je sais que l'approche générale consiste à utiliser map reduce pour distribuer chaque requête sur un cluster (par exemple, en utilisant Hadoop). Cependant, quel est le format de stockage le plus efficace à utiliser ? Il s'agit de données de journal, nous pouvons donc supposer que chaque événement est horodaté et qu'en général, les données sont structurées et non éparses. La plupart des requêtes d'analyse Web consistent à analyser des tranches de données entre deux horodatages arbitraires et à récupérer des statistiques globales ou des anomalies dans ces données.

Une base de données orientée colonnes comme Big Table (ou HBase) serait-elle un moyen efficace de stocker et, surtout, d'interroger de telles données ? Le fait que vous sélectionniez un sous-ensemble de lignes (basé sur l'horodatage) ne va-t-il pas à l'encontre du principe de base de ce type de stockage ? Serait-il préférable de les stocker sous forme de données non structurées, par exemple dans un index inversé ?

5voto

cwensel Points 1156

Malheureusement, il n'existe pas de réponse unique.

J'utilise actuellement Cascading, Hadoop, S3 et Aster Data pour traiter des centaines de gigaoctets par jour au moyen d'un pipeline échelonné dans AWS.

Aster Data est utilisé pour les requêtes et les rapports, car il fournit une interface SQL aux ensembles de données massives nettoyées et analysées par les processus en cascade sur Hadoop. En utilisant les interfaces JDBC de Cascading, le chargement d'Aster Data est un processus assez trivial.

Gardez à l'esprit que les outils comme HBase et Hypertable sont des magasins clé/valeur, donc ne faites pas de requêtes et de jointures ad-hoc sans l'aide d'une application MapReduce/Cascading pour effectuer les jointures hors bande, qui est un modèle très utile.

Pour tout vous dire, je suis un développeur du projet Cascading.

http://www.asterdata.com/

http://www.cascading.org/

5voto

caskey Points 5581

Le livre Hadoop : The definitive Guide de O'Reilly contient un chapitre qui traite de la manière dont Hadoop est utilisé dans deux entreprises du monde réel.

http://my.safaribooksonline.com/9780596521974/ch14

4voto

marcog Points 39356

Jetez un coup d'œil au document Interprétation des données : Analyse parallèle avec Sawzall par Google. Il s'agit d'un document sur l'outil utilisé par Google pour l'analyse des journaux.

1voto

user175012 Points 11

Il existe une bonne étude de cas ici http://www.rightscale.com/bi sur la façon dont CrowdStar fait de l'analyse de journaux à grande échelle.

0voto

Jeff Hammerbacher Points 2020

Pour en savoir plus sur l'infrastructure analytique de Facebook, vous pouvez regarder cette vidéo. vidéo du sommet Hadoop 2010.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X