Copyright HébergementWebs.com - License GPL

Apache Flume - Transfert de données dans Hadoop

Tutoriel apache flume   2020-11-15 23:55:58

Apache Flume - Transfert de données dans Hadoop Big Data, comme nous know, est une collection de grands ensembles de données qui ne peuvent pas être traités à l"aide des techniques informatiques traditionnelles. Le Big Data, lorsqu"il est analysé, donne des résultats précieux. Hadoop est un framework open-source qui permet de stocker et de traiter du Big Data dans un environnement distribué sur des clusters d"ordinateurs à l"aide de modèles de programmation simples. Streaming / Log Data En règle générale, la plupart des données à analyser seront produites par fichiers journaux et événements. Fichier journal - En général, un fichier journal est un fichier qui répertorie les événements / actions qui se produisent dans un système d"exploitation. Par exemple, les serveurs Web répertorient toutes les requêtes adressées au serveur dans les fichiers journaux. En récoltant ces données de journal, nous pouvons obtenir des informations sur - les performances de l"application et localiser le comportement de l"utilisateur et obtenir de meilleures informations commerciales. La méthode traditionnelle de transfert de données dans le HDFS le système doit utiliser la commande put . Voyons comment utiliser la commande put . Commande HDFS put Le principal défi dans la gestion des données de journal est de déplacer ces journaux produits par plusieurs les serveurs à l"environnement Hadoop. Hadoop File System Shell fournit des commandes pour insérer des données dans Hadoop et en lire. Vous pouvez insérer des données dans Hadoop en utilisant la commande put comme indiqué ci-dessous. $ Hadoop fs –put / chemin du fichier / chemin requis dans HDFS où enregistrer le fichier Problème avec la commande put Nous pouvons utiliser la commande put de Hadoop pour transférer les données de ces sources vers HDFS. Mais, il souffre des inconvénients suivants - Utilisation de put commande, nous ne pouvons transférer qu’un seul fichier à la fois tandis que les générateurs de données génèrent des données à un taux beaucoup plus élevé. Comme l"analyse faite sur des données plus anciennes est moins précise, nous devons avoir une solution pour transférer les données en temps réel. Si nous utilisons la commande put , les données doivent être conditionnées et doivent être prêtes pour le téléchargement. Étant donné que les serveurs Web génèrent des données en continu, c"est une tâche très difficile. Ce dont nous avons besoin ici, c"est d"une solution qui puisse surmonter les inconvénients de put et transférez les «données en streaming» des générateurs de données vers les magasins centralisés (en particulier HDFS) avec moins de retard. Problème avec HDFS Dans HDFS, le fichier existe en tant que répertoire l"entrée et la longueur du fichier seront considérées comme nulles jusqu"à ce qu"il soit fermé. Par exemple, si une source écrit des données dans HDFS et que le réseau a été interrompu au milieu de l"opération (sans fermer le fichier), alors les données écrites dans le fichier seront perdues. Nous avons donc besoin un système fiable, configurable et maintenable pour transférer les données du journal dans HDFS. Remarque - Dans le système de fichiers POSIX, chaque fois que nous accédons à un fichier (par exemple, effectuer une opération d"écriture), d"autres programmes peuvent toujours lire ce fichier (au moins la partie enregistrée du fichier). En effet, le fichier existe sur le disque avant sa fermeture. Solutions disponibles Pour envoyer des données en streaming (fichiers journaux, événements, etc.) à partir de Scribe de Facebook Scribe est un outil extrêmement populaire qui est utilisé pour agréger et diffuser les données des journaux. Il est conçu pour évoluer vers un très grand nombre de nœuds et être robuste aux pannes de réseau et de nœuds. Apache Kafka Kafka a été développé par Apache Software Foundation. C"est un courtier de messages open-source. En utilisant Kafka, nous pouvons gérer des flux à haut débit et à faible latence. Apache Flume Apache Flume est un outil / service / ingestion de donnéesmécanisme de collecte d"agrégation et de transport de grandes quantités de données en continu telles que les données de journal, les événements (etc.) de C"est un outil hautement fiable, distribué et configurable qui est principalement conçu pour transférer des données de streaming de Dans ce didacticiel, nous discuterons en détail comment utiliser Flume avec quelques exemples.