2011-02-23 22 views
8

Estoy a punto de embarcarme en un proyecto que utiliza Apache Hadoop/Hive que implicará una colección de scripts de consulta de colmena para producir datos de alimentación para varias aplicaciones de flujo descendente. Estos scripts parecen candidatos ideales para algunas pruebas unitarias: representan el cumplimiento de un contrato API entre mi almacén de datos y las aplicaciones cliente, y como tal, es trivial escribir cuáles deberían ser los resultados esperados para un conjunto determinado de datos de inicio. Mi problema es cómo ejecutar estas pruebas.Pruebas automáticas en Apache Hive

Si estaba trabajando con consultas SQL, podría utilizar algo como SQLlite o Derby para abrir rápidamente bases de datos de prueba, cargar datos de prueba y ejecutar una colección de pruebas de consulta en su contra. Desafortunadamente, no conozco ninguna de esas herramientas para Hive. Por el momento, lo mejor que puedo hacer es hacer que el marco de prueba muestre una instancia local de hadoop y ejecute Hive en contra de eso, pero nunca he hecho eso antes y no estoy seguro si funcionará o será el camino correcto.

Además, no estoy interesado en una discusión pedante sobre si lo que estoy haciendo son pruebas unitarias o pruebas de integración, solo necesito poder probar que mi código funciona.

Respuesta

3

Hive tiene un modo especial independiente, específicamente diseñado para fines de prueba. En este caso, puede ejecutarse sin hadoop. Creo que es exactamente lo que necesitas. Hay un enlace a la documentación:

3

estoy trabajando como parte de un equipo para soportar una gran plataforma de datos y análisis, y también tenemos este tipo de problema.

Hemos estado buscando por un tiempo y nos encontramos con dos herramientas muy prometedoras: https://github.com/klarna/HiveRunnerhttps://github.com/bobfreitas/HadoopMiniCluster

HiveRunner es un marco construido encima de JUnit para probar la colmena Consultas. Inicia un HiveServer independiente con memoria HSQL como metastore. Con él se puede stub tablas, vistas, muestras simuladas, etc.

Hay algunas limitaciones en las versiones de la colmena sin embargo, pero definitivamente lo recomiendo

Espero que le ayuda =)

+0

@ Julio Estoy tratando de ejecutar HelloHiveRunner, pero cuando uso CustomHandler para createTable, obtengo la excepción diciendo No puedo encontrar la clase. ¿Hay alguna forma de que pueda establecer HIVE_AUX_JARS_PATH? Gracias – user1393608

Cuestiones relacionadas