2010-12-01 4 views
40

J'ai été un utilisateur de longue date de R et j'ai récemment commencé à travailler avec Python. En utilisant les systèmes de SGBDR conventionnels pour l'entreposage de données, et R/Python pour le calcul des nombres, je ressens le besoin de me salir les mains avec l'analyse de Big Data. Je voudrais savoir comment démarrer avec Big Data CrunchingComment démarrer avec Big Data Analysis

- Comment commencer simple Map/Reduce et l'utilisation de Hadoop

  • Comment puis-je tirer parti de mes compétences en R et Python pour commencer avec l'analyse Big Data. Utiliser le projet Python Disco par exemple.
  • Utilisation du progiciel RHIPE et recherche de jeux de données et de zones problématiques.
  • Trouver la bonne information pour me permettre de décider si je dois passer à NoSQL des bases de données de type SGBDR

Dans l'ensemble, j'aimerais savoir comment commencer petit et de construire progressivement mes compétences et savoir-faire en Big Data Analysis.

Nous vous remercions de vos suggestions et recommandations. Je m'excuse pour la nature générique de cette requête, mais je cherche à obtenir plus de perspective sur ce sujet.

  • Rude
+0

Connexe: http://stackoverflow.com/questions/4271377/what-specific-programming-skills-are-useful-for-data-journalists –

Répondre

29

Utilisation du projet Disco Python par exemple.

Bonne. Joue avec ça. Utilisation du progiciel RHIPE et recherche de jeux de données de jouets et de zones à problèmes.

Fin. Joue avec ça aussi. N'essayez pas de trouver de «grands» jeux de données. Même de petits ensembles de données présentent des problèmes très intéressants. En effet, tout ensemble de données est un point de départ.

Une fois, j'ai construit un petit schéma en étoile pour analyser le budget de 60 millions de dollars d'une organisation. Les données sources étaient dans des tableurs, et essentiellement incompréhensibles. Je l'ai donc déchargé dans un schéma en étoile et j'ai écrit plusieurs programmes analytiques en Python pour créer des rapports simplifiés des nombres pertinents.

Trouver la bonne information pour me permettre de décider si je dois passer à des bases de données NoSQL de type SGBDR

C'est facile. Tout d'abord, procurez-vous un livre sur l'entreposage de données (The Data Warehouse Toolkit de Ralph Kimball) par exemple.

En second lieu, étudier la « Star schéma » soigneusement - en particulier toutes les variantes et les cas particuliers que Kimball explique (en profondeur)

Troisièmement, réaliser ce qui suit: SQL est pour les mises à jour et les transactions.Lorsque vous effectuez un traitement "analytique" (grand ou petit), il n'y a presque pas de mise à jour de quelque sorte que ce soit. SQL (et la normalisation associée) n'a plus vraiment d'importance.

Le point de Kimball (et d'autres, aussi) est que la plupart de votre entrepôt de données n'est pas en SQL, c'est dans de simples fichiers plats. Un datamart (pour une analyse ad-hoc, tranche-et-dés) peut être dans une base de données relationnelle pour permettre un traitement facile et flexible avec SQL.

La "décision" est donc triviale. Si elle est transactionnelle ("OLTP"), elle doit être dans une base de données relationnelle ou OO. Si c'est analytique ("OLAP"), il ne nécessite pas de SQL sauf pour les analyses de tranches et de dés; et même alors, la base de données est chargée à partir des fichiers officiels selon les besoins.

+0

Nous vous remercions de votre réponse détaillée. Vraiment aide. – harshsinghal

+0

Je pense d'abord que vous devriez arriver au modèle évolutif de votre traitement de données. Par scalable, je veux dire traitement parralel avec synchronisation implicite. En d'autres termes - divisant en peaces de données indépendantes à traiter. Si c'est effectivement possible, vous pouvez considérer la puissance de l'ordinateur que vous voulez exploiter. Si vous voulez employer, disons, plus de 50 cœurs de processeurs, et avoir plus de 3 Go par seconde de taux de lecture de données - vous devriez opter pour des outils de données volumineux comme hadoop. Je pense qu'expérimenter Amazon EMR peut être un très bon choix. –

1

Une chose que vous pouvez considérer est le programme d'analyse de données DMelt (http://jwork.org/dmelt/). Une caractéristique notable est qu'il a des centaines d'exemples utilisant le langage Python, et quelques livres. La raison pour laquelle je l'utilisais est qu'il fonctionne sur mon Windows 10 (car il utilise Java VM), en plus il a de très bons graphismes en 2D/3D qui peuvent être exportés au format graphique vectoriel.

+0

Bienvenue dans Stack Overflow! Bien que cela puisse théoriquement répondre à la question, [il serait préférable] (// meta.stackoverflow.com/q/8259) d'inclure les parties essentielles de la réponse ici, et de fournir le lien pour référence. – Raju