El ecosistema de clientes HBase
HBase está escrito en Java, un lenguaje elegante para la construcción de tecnologías distribuidas como HBase, pero la cara él - no todo el mundo que quiera aprovechar las innovaciones HBase es un desarrollador Java. Es por eso que hay un rico ecosistema de clientes HBase por ahí cuyo único propósito es hacer el levantamiento de Java pesado para usted y le permiten concentrarse en hacer el trabajo HBase para usted.
Rico suele ser una buena característica, pero cuando ese adjetivo cruza la línea en abrumadora, comienza a tener un problema. He aquí un resumen del ecosistema cliente en forma de diagrama. Tenga en cuenta que el diagrama es similar al diagrama de la arquitectura HBase, con una vista en despiece de la caja de cliente.
Las siguientes listas de resumen de sus opciones, empezando por los clientes Apache Hadoop, más específicamente aquellos clientes HBase que son parte del ecosistema Hadoop, junto con las tecnologías incluidas con HBase que están diseñados para ayudarle a construir clientes HBase:
Hive: Hive es otro proyecto Apache nivel superior. Colmena ofrece su propia visión de las capacidades de almacenamiento de datos en la parte superior de Hadoop. Viene con un controlador de almacenamiento para HBase, y también proporciona el lenguaje de consulta HiveQL, que es bastante similar a SQL. Con Colmena, puede hacer toda la consulta de HBase que desea utilizar HiveQL y - aquí viene lo bueno - no se requiere codificación de Java cuando se está utilizando HBase con Hive.
Mapa reducido: MapReduce es parte del marco de Hadoop. La afirmación de MapReduce a la fama es que es un modelo de programación para el procesamiento de datos en paralelo en un clúster distribuido. En el universo de Hadoop, HBase es (como su nombre indica) la ". Hadoop Base de datos " HBase aprovecha el sistema de archivos distribuido Hadoop (HDFS) y también puede ser aprovechado por los trabajos de MapReduce. Mesas HBase pueden ser una fuente o sumidero paralelo procesar los trabajos de MapReduce.
Cerdo: Cerdo es otra tecnología que se incluye con Hadoop y, como en la colmena, cerdo puede aprovechar HBase. Cerdo te lleva a un nivel superior al darle un lenguaje de programación de alto nivel llamado Pig Latin, lo que puede hacer el trabajo MapReduce pesado para usted.
Multi-Lenguaje Sistema de Ahorro: Thrift proporciona un enfoque independiente del idioma a la construcción de los clientes HBase. Desarrollado por Facebook, de Thrift Interface Definition Language (IDL) le permite definir los tipos de datos y las interfaces de servicio de modo que dos sistemas diferentes escritos en diferentes lenguas pueden comunicarse entre sí. Después de que el IDL está escrito, Thrift genera el código necesario para la comunicación.
Cliente Java: Si quieres pasar a ser un desarrollador de Java y de entender los entresijos de paquetes Java, entonces usted querrá comprobar hacia fuera el paquete que viene incluido con la distribución HBase.
Sistema RESTO: Probablemente el método más rápido para acceder a una mesa HBase es aprovechar la interfaz REST. REST, que significa Rede presentación State Transfer, es la tecnología que hace que su trabajo navegador web. La mayoría de la gente simplemente tomar los navegadores web por sentado en estos días, así que ¿qué podría ser más natural para cualquier persona que simplemente utilizando su navegador favorito como puerta de entrada a un clúster HBase?
Al igual que con el enfoque Thrift, las naves del servidor de puerta de enlace REST con HBase y lo que necesita para comenzar al menos una con el fin de permitir la interacción navegador con sus tablas. Para ello, sólo debes elegir un número de puerto para el servidor de puerta de enlace y escriba el siguiente comando:
$ INSTALL_DIR / HBase-0.94.7 / bin / HBase resto empezar _p 7777
JRuby (HBase Shell): La manera más rápida de subirse las mangas y aprender a usar HBase es a través de la cáscara HBase. Como usted probablemente ya habrá visto en el ejemplo práctico de la cáscara HBase en la sección anterior, la concha es una poderosa herramienta para interactuar con HBase. La cáscara HBase se basa en la JRuby interactivo de Ruby Shell o IRB para abreviar.
Tenga en cuenta, sin embargo, que también se puede escribir scripts y ejecutarlos en modo batch.