Vidéo: Importer les donnés avec Sqoop 2024
Prêt à plonger dans l'importation de données avec Sqoop? Commencez par jeter un coup d'œil à la figure, qui illustre les étapes d'une opération d'importation Sqoop typique à partir d'un SGBDR ou d'un système d'entrepôt de données. Rien de trop compliqué ici - juste une table de données typique d'une société fictive (typique) importée dans un cluster Apache Hadoop typique à partir d'un système de gestion de données typique (DMS).
Lors de l'étape 1, Sqoop utilise le connecteur approprié pour extraire les métadonnées de la table Products du DMS cible. (Les métadonnées sont utilisées pour mapper les types de données de la table Produits aux types de données dans le langage Java.)
L'étape 2 utilise ensuite ces métadonnées pour générer et compiler une classe Java qui sera utilisée par une ou plusieurs tâches de carte pour importez les lignes réelles de la table Products. Sqoop enregistre la classe Java générée dans l'espace temporaire ou dans un répertoire que vous spécifiez afin que vous puissiez l'exploiter pour le traitement ultérieur de vos enregistrements de données.
Le code Java généré par Sqoop qui est enregistré pour vous est comme le cadeau qui continue à donner! Avec ce code, Sqoop importe les enregistrements du DMS et les stocke dans HDFS en utilisant l'un des trois formats que vous pouvez choisir: les données binaires Avro, les fichiers de séquence binaire ou les fichiers texte délimités. Ensuite, ce code est disponible pour le traitement ultérieur des données.
Les fichiers de séquence sont un choix naturel si vous importez des types de données binaires et vous aurez besoin de la classe Java générée pour sérialiser et désérialiser vos données ultérieurement - peut-être pour le traitement ou l'exportation de MapReduce. Les données Avro, basées sur le cadre de sérialisation propre à Apache, sont utiles si vous devez interagir avec d'autres applications après l'importation dans HDFS.
Si vous choisissez de stocker vos données importées au format texte délimité, vous pourrez trouver le code Java généré plus tard en analysant et en effectuant des conversions de format de données sur vos nouvelles données. Vous verrez que le code généré vous aide également à fusionner des ensembles de données après les opérations d'importation Sqoop, et le code Java généré peut aider à éviter toute ambiguïté lors du traitement de données texte délimitées.
Enfin, au cours de l'étape 3, Sqoop divise les enregistrements de données de la table Produits sur un certain nombre de tâches cartographiques (avec le nombre de mappeurs éventuellement spécifié par l'utilisateur) et importe les données de table dans HDFS, Hive ou HBase.