[PYTHON] Vous serez ingénieur dans 100 jours --Jour 86 --Base de données -

Cliquez ici jusqu'à hier

Vous deviendrez ingénieur dans 100 jours - Jour 76 - Programmation - À propos de l'apprentissage automatique

Vous deviendrez ingénieur dans 100 jours-70-Programmation-À propos du scraping

Vous deviendrez ingénieur dans 100 jours - Jour 66 - Programmation - À propos du traitement du langage naturel

Vous deviendrez ingénieur dans 100 jours - Jour 63 - Programmation - À propos de la probabilité 1

Vous deviendrez ingénieur dans 100 jours - Jour 59 - Programmation - À propos des algorithmes

Vous deviendrez ingénieur dans 100 jours --- Jour 53 --Git --À propos de Git

Vous deviendrez ingénieur dans 100 jours --Jour 42 --Cloud --À propos des services cloud

Vous deviendrez ingénieur dans 100 jours - Jour 36 --Base de données --À propos de la base de données

Vous deviendrez ingénieur dans 100 jours-24 jours-Python-Bases du langage Python 1

Vous deviendrez ingénieur dans 100 jours --Jour 18 --Javascript --Les bases de JavaScript 1

Vous deviendrez ingénieur dans 100 jours - Jour 14 --CSS --CSS Basics 1

Vous deviendrez ingénieur dans 100 jours - Jour 6 --HTML - Bases du HTML 1

Cette fois, je vais continuer à parler des bases de données et parler de Hadoop.

À propos du Big Data

Quant à l'histoire de la base de données Vous deviendrez ingénieur dans 100 jours - Jour 36 --Base de données --À propos de la base de données Mais je le fais comme une histoire sur les données Premièrement, il y a le mot «big data».

La définition de «big data» est plutôt ambiguë, et si c'est un peu gros, c'est comme «big data». Il semble y avoir des médias qui disent Par définition en 2012, des données de l'ordre de «dizaines de téraoctets à plusieurs pétaoctets» Cela semble être du «big data».

Les données d'environ 1 To ne sont pas appelées «big data». Une seule machine suffit pour cela.

Ces dernières années, les données elles-mêmes sont devenues gonflées, dépassant la quantité pouvant être gérée par une seule machine. Le «Big Data» existe.

Dans ce cas, une base de données installée sur la machine ne suffit pas Vous aurez besoin d'un certain nombre de machines.

Pour résoudre un tel problème, nous avons eu l'idée de traiter le Big Data à grande échelle. La plateforme.

Présentation de Hadoop

Hadoop stocke des données telles que du texte, des images et des journaux Une "plateforme de traitement distribuée" open source qui traite à grande vitesse.

«Hadoop» est caractérisé par un traitement distribué effectué sur plusieurs machines. En distribuant les données sur plusieurs machines Vous pouvez facilement évoluer.

En traitant des données à grande échelle sur plusieurs machines à la fois Il réalise également une vitesse élevée.

Contexte de l'apparition de Hadoop

«Hadoop» a été initialement publié sous forme d'article par Google. Il s'agit d'une implémentation open source de la technologie interne de Google. Comment gérer la grande quantité de données dont dispose Google Il est basé sur le papier du système technique.

Google File System (GFS): le système de fichiers distribué de Google Google MapReduce: technologie de traitement distribuée chez Google

Hadoop lui-même est basé sur Java Il est encore en développement et sa marque de fabrique est l'éléphant.

スクリーンショット 2020-06-14 15.29.07.png

Comment fonctionne Hadoop

Hadoop est principalement composé des deux éléments suivants. HDFS: système de fichiers distribué Hadoop Hadoop MapReduce: un cadre de traitement distribué

** HDFS (système de fichiers distribués Hadoop) **

HDFS se compose de deux nœuds, un maître et un esclave. Noeud maître: NameNode ʻSur le nœud esclave: DataNode`

NameNode gère les méta-informations du système de fichiers DataNode stocke les données réelles.

Données (blocs) divisées en tailles fixes lors du stockage de fichiers Enregistrez sous DataNode.

Et pour que certains DataNode échouent et que les données ne soient pas perdues Enregistrez une réplique du bloc dans plusieurs DataNodes. Il s'agit d'un mécanisme pour éviter la perte de données.

Par défaut, le nombre de répliques est de 3, donc même si deux serveurs échouent Les données ne seront pas perdues.

image.png

Référence: Qu'est-ce que la technologie de traitement des données / distribué NTT "Hadoop"? https://oss.nttdata.com/hadoop/hadoop.html

Concernant NameNode, s'il s'agit d'un seul nœud, il ne sera pas utilisable s'il échoue. La redondance peut être obtenue en définissant la configuration Active-Standby.

En augmentant le nombre de serveurs, vous pouvez également augmenter la quantité de données stockées.

** Hadoop Map Reduce (cadre de traitement distribué) **

Un autre composant est «MapReduce». Il s'agit d'un mécanisme permettant de diviser les données et de les traiter en parallèle pour obtenir des résultats plus rapidement.

MapReduce se compose de deux nœuds, un maître et un esclave. Nœud maître: JobTracker ʻSur le nœud esclave: TaskTracker`

JobTracker gère les tâches MapReduce et va à TaskTracker Attribuez des tâches et gérez les ressources.

TaskTracker exécute la tâche.

Même si TaskTracker échoue, JobTracker Attribuez la même tâche à d'autres TaskTrackers Vous pouvez continuer à courir sans avoir à recommencer.

image.png

Référence: Qu'est-ce que la technologie de traitement des données / distribué NTT "Hadoop"? https://oss.nttdata.com/hadoop/hadoop.html

L'application MapReduce effectue le traitement suivant. Définition du travail: Définissez les informations pour traiter la carte et traitement de la carte: données de signification au format de valeur clé pour les données d'entrée réduire le traitement: effectue le traitement des données agrégées pour chaque clé de traitement de la carte

Lorsque le processus MapReduce est terminé, le résultat final est affiché. Au fur et à mesure que le nombre de serveurs effectuant le traitement augmente, le traitement sera terminé à une vitesse plus élevée. Il est avantageux que le nombre d'unités pouvant être calculées soit important.

Caractéristiques de Hadoop

Je pense que les trois points suivants sont les principales caractéristiques de Hadoop.

** Évolutivité du serveur ** Avec HDFS, si vous manquez de ressources, vous pouvez augmenter le nombre de serveurs. Vous pouvez sécuriser la capacité de données et les ressources informatiques.

** Tolérance aux pannes **

Si vous installez le logiciel sur un serveur disponible dans le commerce Puisque vous pouvez créer un environnement Hadoop, vous n'avez pas besoin de matériel dédié. De plus, par des mécanismes tels que HDFS et TaskTracker Le système fonctionnera même si jusqu'à plusieurs unités tombent en panne.

** Flexibilité de traitement **

La différence avec les bases de données conventionnelles réside dans le stockage des données dans HDFS. Cela signifie qu'aucune définition de schéma n'est requise.

Parce qu'il suffit de donner du sens lors de la récupération des données On peut dire que les données sont stockées pour le moment.

Quel type d'entreprise est-il introduit?

J'ai découvert Hadoop pour la première fois en 2012. À cette époque, il n'y avait presque aucune entreprise qui l'adoptait lors de séminaires, etc. Nous l'avions présenté, donc je pense que c'était une personne assez rare.

En ce qui concerne le nombre d'unités, il y a 3 nœuds de nom de maître Je pense qu'il y avait 20 nœuds de données.

La quantité de données est d'environ 5 milliards de lignes de données de journal avec environ 100 colonnes par ligne et par mois.

En ce qui concerne les données de cette échelle, il s'agissait de plusieurs TB. Il ne tient pas dans une unité et il n'y a pas assez de mémoire au moment de l'agrégation.

Le MAX du travail que j'ai effectué sur mon PC Cela représente environ 200 Go de fichiers. À titre indicatif, si les données dépassent plusieurs To Est-ce comme penser au traitement distribué?

L'endroit qui gère autant de données Je pense que vous utilisez le fondement du traitement distribué.

Cependant, il contient une grande quantité de données et ne peut maîtriser que Hadoop. Cela vaut la peine d'être utilisé si vous avez des ressources humaines et financières Ce n'est peut-être qu'une petite partie.

Sauf si vous êtes une entreprise qui a de l'argent et des données C'est difficile à présenter et cela n'a pas de sens.

Quand je suis allé à l'endroit où je l'avais annoncé il y a longtemps Yahoo «Cyber Agent» Données NTT «Solutions Hitachi» «Technologies de recrutement»

Seulement les grandes entreprises Si vous souhaitez acquérir une technologie de traitement distribuée telle que Hadoop Je dois travailler dans une entreprise ici Vous ne pourrez peut-être pas l'apprendre.

Au fait, je n'utilise même pas 1 mm maintenant www

Résumé

Le traitement distribué est désormais monnaie courante dans le traitement du Big Data C'est indispensable.

En tant qu'acteur majeur de la diffusion des traitements distribués auprès du grand public Je pense que l'existence de Hadoop est assez grande. Supprimons-le en tant que connaissance.

14 jours avant de devenir ingénieur

Informations sur l'auteur

HP d'Otsu py: http://www.otupy.net/

Youtube: https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter: https://twitter.com/otupython

Recommended Posts

Vous serez ingénieur dans 100 jours --Jour 86 --Base de données -
Vous serez ingénieur dans 100 jours ――Jour 71 ――Programmation ――À propos du scraping 2
Vous serez ingénieur dans 100 jours ――Jour 61 ――Programmation ――A propos de l'exploration
Vous serez ingénieur dans 100 jours ――Jour 74 ――Programmation ――À propos du scraping 5
Vous serez ingénieur dans 100 jours ――Jour 73 ――Programmation ――À propos du scraping 4
Vous serez ingénieur dans 100 jours ――Jour 75 ――Programmation ――À propos du scraping 6
Vous deviendrez ingénieur dans 100 jours --Jour 68 --Programmation --A propos de TF-IDF
Vous serez ingénieur dans 100 jours ――Jour 70 ――Programmation ――À propos du grattage
Vous serez ingénieur dans 100 jours ――Jour 81 ――Programmation ――À propos de l'apprentissage automatique 6
Vous serez ingénieur dans 100 jours ――Jour 82 ――Programmation ――À propos de l'apprentissage automatique 7
Vous serez ingénieur dans 100 jours ――Jour 79 ――Programmation ――À propos de l'apprentissage automatique 4
Vous serez ingénieur dans 100 jours ――Jour 76 ――Programmation ――À propos de l'apprentissage automatique
Vous serez ingénieur dans 100 jours ―― Jour 80 ―― Programmation ―― À propos de l'apprentissage automatique 5
Vous serez ingénieur dans 100 jours ――Jour 78 ――Programmation ――À propos de l'apprentissage automatique 3
Vous serez ingénieur dans 100 jours ――Jour 84 ――Programmation ――À propos de l'apprentissage automatique 9
Vous serez ingénieur dans 100 jours ――Jour 83 ――Programmation ――À propos de l'apprentissage automatique 8
Vous serez ingénieur dans 100 jours ――Jour 77 ――Programmation ――À propos de l'apprentissage automatique 2
Vous serez ingénieur dans 100 jours ――Jour 85 ――Programmation ――À propos de l'apprentissage automatique 10
Vous serez ingénieur dans 100 jours ――Jour 63 ――Programmation ――À propos de la probabilité 1
Vous serez ingénieur dans 100 jours - Jour 27 - Python - Exercice Python 1
Vous serez ingénieur dans 100 jours ――Jour 65 ――Programmation ――A propos de la probabilité 3
Vous serez ingénieur dans 100 jours ――Jour 64 ――Programmation ――À propos de la probabilité 2
Vous serez ingénieur dans 100 jours - Jour 34 - Python - Exercice Python 3
Vous serez ingénieur dans 100 jours - Jour 31 - Python - Python Exercice 2
Vous serez ingénieur dans 100 jours ――Jour 24 ―― Python ―― Bases du langage Python 1
Vous serez ingénieur dans 100 jours ――Jour 30 ―― Python ―― Bases du langage Python 6
Vous serez ingénieur dans 100 jours ――Jour 25 ―― Python ―― Bases du langage Python 2
Vous serez ingénieur dans 100 jours ―― Jour 60 ―― Programmation ―― À propos de la structure des données et de l'algorithme de tri
Vous serez ingénieur dans 100 jours - Jour 29 - Python - Bases du langage Python 5
Vous serez ingénieur dans 100 jours - Jour 33 - Python - Bases du langage Python 8
Vous serez ingénieur dans 100 jours --Jour 26 --Python --Basiques du langage Python 3
Vous devenez ingénieur en 100 jours - Jour 35 - Python - Ce que vous pouvez faire avec Python
Vous serez ingénieur dans 100 jours --Jour 32 --Python --Basiques du langage Python 7
Vous serez ingénieur dans 100 jours --Jour 28 --Python --Les bases du langage Python 4
Vous devenez ingénieur en 100 jours ――Jour 67 ――Programmation ――A propos de l'analyse morphologique
Vous devenez ingénieur en 100 jours ――Jour 66 ――Programmation ――À propos du traitement du langage naturel
Vous devez faire attention aux commandes que vous utilisez quotidiennement dans l'environnement de production.