Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Accès aux tables HBase à l'aide de Hive
HBase et Apache Hive sont étroitement intégrés, ce qui vous permet d'exécuter des charges de travail MPP (Massively Parallel Processing) directement sur des données stockées dans HBase. Pour utiliser Hive avec HBase, vous pouvez généralement les lancer sur le même cluster. Vous pouvez, toutefois, lancer Hive et HBase sur des clusters distincts. L'exécution de HBase et de Hive séparément sur des clusters différents peut améliorer les performances, car cela permet à chaque application d'utiliser les ressources de cluster plus efficacement.
Les procédures suivantes montrent comment vous connecter à HBase sur un cluster à l'aide de Hive.
Note
Vous pouvez connecter un cluster Hive à un seul cluster HBase.
Pour connecter Hive à HBase
-
Créez des clusters séparés avec Hive et HBase installés ou créez un cluster unique avec HBase et Hive installés.
-
Si vous utilisez des clusters distincts, modifiez vos groupes de sécurité afin que les ports HBase et Hive soient ouverts entre ces deux nœuds principaux.
-
Utilisez SSH pour vous connecter au nœud principal du cluster sur lequel Hive est installé. Pour plus d'informations, consultez Connexion au nœud primaire à l'aide de SSH dans le Guide de gestion d'Amazon EMR.
-
Lancez le shell Hive à l'aide de la commande suivante.
hive -
(Facultatif) Vous n'avez pas besoin de procéder ainsi si HBase et Hive se trouvent sur le même cluster. Connectez le client HBase sur votre cluster Hive au cluster HBase qui contient vos données. Dans l'exemple suivant,
public-DNS-nameest remplacé par le nom DNS public du nœud principal du cluster HBase, par exemple :ec2-50-19-76-67.compute-1.amazonaws.com.rproxy.goskope.com.set hbase.zookeeper.quorum=public-DNS-name; -
Exécutez les requêtes Hive sur vos données HBase comme vous le souhaitez, ou passez à la procédure suivante.
Pour accéder aux données HBase depuis Hive
-
Une fois la connexion entre les clusters Hive et HBase établie (comme indiqué dans la procédure précédente), vous pouvez accéder aux données stockées sur le cluster HBase en créant une table externe dans Hive.
L'exemple suivant, lorsqu'il est exécuté à partir de l'invite Hive sur le nœud principal, crée une table externe qui référence les données stockées dans une table HBase appelée.
inputTableVous pouvez ensuite référencerinputTabledans les instructions Hive pour interroger et modifier les données stockées dans le cluster HBase.set hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com; create external table inputTable (key string, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1") tblproperties ("hbase.table.name" = "t1"); select count(key) from inputTable ;
Pour un cas d'utilisation plus avancé et un exemple combinant HBase et Hive, consultez le billet de blog sur le AWS Big Data, Combine NoSQL et massively parallel analytics using Apache HBase and Apache Hive on Amazon EMR