2012-11-27 54 views
3

我正在使用格式爲2.x格式的大量HL7消息。格式是一個管道分隔格式,其中每種格式看起來大致是這樣的(僞數據):我是否應該在Hadoop/Hive中使HL7數據變得平坦?或者擴展Hive?

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 

我想這樣做使用蜂巢或類似的東西這個大數據查詢/探索。我應該首先使用HParser或類似的東西將這些數據變成更多的表格格式嗎?或者是否值得花時間擴展Hive以便能夠通過自定義的SerDer或InputFormat查詢?

回答

4

你應該能夠通過RegExSerde比較容易地用正則表達式處理HL7。也就是說,一旦你挖掘了對象偵察器和其他Hive管道,編寫serde並不是非常困難(幾個小時)。自定義serde也可以自動提供字段名稱,但是這是一個小小的改進。一個單獨的解析步驟是矯枉過正的。

+0

謝謝,雅各布。毫無疑問,正則表達式會起作用。我找到了一個Java HL7解析庫,所以我最終可能會將其封裝在自定義的SerDe中,以獲得字段名稱。 – Jelling

相關問題