2014-05-08 53 views
0

這是從我的示例日誌文件中的一行,分割原始數據轉換成列

[太陽03月07日16時05分49秒2004] [信息] [客戶端64.242.88.10](104)連接復位由對等:客戶端停止連接之前發送身體完成

大多數行是相同的固定長度的,在SAS I使用基於位置/定位拆分此。例如,2-24中的字符將是TimeStamp列,29-31將是MessageType等等。

有沒有辦法做同樣的基於位置的拆分或如何在Pig/MapReduce中解決這個問題?

回答

0

是的。在您的Map Reduce代碼中有類似

@Override public void map(LongWritable key, Text value, Context 
context) throws IOException, InterruptedException { 

    String fields = value.toString(); 
     // use the start and end index based on your needs 
     String date = fields.substring(2,3); 

    ......... 
+0

感謝Sudarshan,這很有幫助。在PIG中,我能夠使用UDF類似地執行此操作。 – Subbu