Vidéo: Introduction To Oozie and HDFS Processing | Big Data on Hadoop [Part 7] | Tutorial | Great Learning 2024
HBase est écrit en Java, un langage élégant pour construire des technologies distribuées comme HBase, mais affrontez-le - pas tout le monde qui veut profiter des innovations HBase est un développeur Java. C'est pourquoi il existe un riche écosystème de clients HBase dont le seul but est de faire le gros travail Java pour vous et de vous concentrer sur le travail de HBase.
Rich est généralement une bonne caractéristique, mais quand cet adjectif franchit la ligne , vous commencez à avoir un problème. Voici un aperçu de l'écosystème client sous forme de diagramme. Notez que le diagramme est similaire au diagramme d'architecture HBase, avec une vue éclatée du client.
Les listes suivantes récapitulent vos options, en commençant par les clients Apache Hadoop, plus précisément les clients HBase faisant partie de l'écosystème Apache Hadoop, ainsi que les technologies associées à HBase, conçues pour vous aider à construire Clients HBase:
-
Hive: Hive est un autre projet Apache de haut niveau. Hive fournit ses propres données sur les capacités d'entreposage de données sur Apache Hadoop. Il est livré avec un gestionnaire de stockage pour HBase, et fournit également le langage de requête HiveQL, qui est assez similaire à SQL. Avec Hive, vous pouvez faire toute l'interrogation de HBase que vous voulez en utilisant HiveQL et - voici le kicker - aucun codage Java n'est requis lorsque vous utilisez HBase avec Hive.
-
MapReduce: MapReduce fait partie du framework Apache Hadoop. La revendication de MapReduce est que c'est un modèle de programmation pour le traitement des données en parallèle sur un cluster distribué. Dans l'univers Hadoop, HBase est (comme son nom l'indique) la "base de données Hadoop". "HBase exploite le système de fichiers distribué Hadoop (HDFS) et peut également être exploité par les travaux MapReduce. Les tables HBase peuvent être une source ou un puits pour le traitement parallèle des jobs MapReduce.
-
Pig: Pig est une autre technologie incluse avec Apache Hadoop et, comme avec Hive, Pig peut tirer parti de HBase. Pig vous emmène à un niveau supérieur en vous donnant un langage de programmation de niveau supérieur appelé Pig Latin, qui peut faire le lourd lifting de MapReduce pour vous.
-
Système d'épargne multilingue: Thrift propose une approche neutre du point de vue de la création de clients HBase. Développé par Facebook, le langage de définition d'interface (IDL) de Thrift vous permet de définir des types de données et des interfaces de service afin que deux systèmes différents écrits dans des langues différentes puissent communiquer entre eux. Après l'écriture de l'IDL, Thrift génère le code nécessaire à la communication.
-
Client Java: Si vous êtes un développeur Java et que vous comprenez les tenants et les aboutissants des paquets Java, alors vous voudrez vérifier le paquet fourni avec la distribution HBase.
-
Système REST: L'approche la plus rapide pour accéder à une table HBase est probablement de tirer parti de l'interface REST. REST, qui signifie Re presentational S tate T ransfer, est la technologie qui fait fonctionner votre navigateur Web. La plupart des gens prennent les navigateurs Web pour acquis ces jours-ci, alors quoi de plus naturel pour quelqu'un que d'utiliser votre navigateur favori comme passerelle vers un cluster HBase?
Comme pour l'approche Thrift, le serveur de la passerelle REST est livré avec HBase et vous devez en démarrer au moins un afin de permettre l'interaction du navigateur avec vos tables. Pour ce faire, choisissez simplement un numéro de port pour votre serveur de passerelle et tapez la commande suivante:
$ INSTALL_DIR / hbase-0. 94. 7 / bin / hbase reste start _p 7777
-
JRuby (HBase Shell): Le moyen le plus rapide pour retrousser vos manches et apprendre à utiliser HBase est via le shell HBase. Comme vous l'avez probablement déjà vu dans l'exemple pratique du shell HBase dans la section précédente, le shell est un outil puissant pour interagir avec HBase. Le shell HBase est basé sur Interactive Ruby Shell de JRuby ou IRB pour faire court.
Gardez toutefois à l'esprit que vous pouvez également écrire des scripts et les exécuter en mode batch.