我是否应该将HL7数据展平以在Hadoop/Hive中使用它?还是延长蜂箱?

我是否应该将HL7数据展平以在Hadoop/Hive中使用它?还是延长蜂箱?,hadoop,hive,hl7,Hadoop,Hive,Hl7,我正在处理大量以2.x格式格式化的HL7消息。该格式是管道分隔格式,其中每种格式大致如下(虚拟数据): 我想使用Hive或类似工具对这些数据进行大型查询/探索。我是否应该首先使用HParser或类似工具将这些数据展平成更多的表格格式?或者,是否值得花时间扩展配置单元,以便能够通过自定义SerDer或InputFormat查询此信息?您应该能够通过相对容易的方式使用正则表达式处理HL7。也就是说,一旦您浏览objectinspector和其他配置单元管道,编写serde并不十分困难(几小时),自定

我正在处理大量以2.x格式格式化的HL7消息。该格式是管道分隔格式,其中每种格式大致如下(虚拟数据):


我想使用Hive或类似工具对这些数据进行大型查询/探索。我是否应该首先使用HParser或类似工具将这些数据展平成更多的表格格式?或者,是否值得花时间扩展配置单元,以便能够通过自定义SerDer或InputFormat查询此信息?

您应该能够通过相对容易的方式使用正则表达式处理HL7。也就是说,一旦您浏览objectinspector和其他配置单元管道,编写serde并不十分困难(几小时),自定义serde也可以自动提供字段名,但这没有什么好处。单独的解析步骤是多余的。

您可以使用Hadoop API编写自定义InputFormat和RecordReader…请参阅本文开始:

谢谢你,雅各布。毫无疑问,正则表达式会起作用。我发现了一个JavaHL7解析库,因此我可能会将其包装到一个自定义SerDe中,以获得字段名。
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