¿Debería aplanar los datos de HL7 para trabajar con él en Hadoop/Hive? ¿O extender colmena?
(2)
Debería poder procesar HL7 con una expresión regular a través de RegExSerde con relativa facilidad. Dicho esto, escribir un serde no es terriblemente difícil (un par de horas) una vez que asimilas el objectinspector y otras plomería de Hive. El serde personalizado también puede proporcionar los nombres de campo automáticamente, pero eso es de menor beneficio. Un paso de análisis separado es excesivo.
Estoy trabajando con un gran volumen de mensajes HL7 formateados en el formato 2.x. El formato es un formato delimitado por tuberías donde cada formato se ve más o menos así (datos ficticios):
MSH|^~/&|EPIC|EPICADT|SMS|SMSADT|199912271408|CHARRIS|ADT^A04|1817457|D|2.5|
PID||0493575^^^2^ID 1|454721||DOE^JOHN^^^^|DOE^JOHN^^^^|19480203|M||B|254 MYSTREET AVE^^MYTOWN^OH^44123^USA||(216)123-4567|||M|NON|400003403~1129086|
NK1||ROE^MARIE^^^^|SPO||(216)123-4567||EC|||||||||||||||||||||||||||
PV1||O|168 ~219~C~PMA^^^^^^^^^||||277^ALLEN MYLASTNAME^BONNIE^^^^|||||||||| ||2688684|||||||||||||||||||||||||199912271408||||||002376853
Me gustaría hacer grandes consultas / exploración de estos datos usando Hive o algo similar. ¿Debo primero aplanar estos datos en más de un formato de tabla usando HParser o algo similar? ¿O valdría la pena alargar Hive para poder consultar esto a través de SerDer o InputFormat personalizados?
Puede escribir un InputFormat y un RecordReader personalizados usando la API de Hadoop ... vea este artículo para comenzar: http://bigdatacircus.com/2012/08/01/wordcount-with-custom-record-reader-of-textinputformat/