Hadoop 将原始数据拆分为列

Hadoop 将原始数据拆分为列,hadoop,mapreduce,apache-pig,Hadoop,Mapreduce,Apache Pig,这是我的示例日志文件中的一行 [Sun Mar 7 16:05:49 2004][info][client 64.242.88.10](104)对等方重置连接:客户端在发送正文完成之前已停止连接 大多数线的固定长度相同,在SAS中,我用于根据位置/位置拆分这些线。例如,2-24中的字符是TimeStamp列,29-31中的字符是MessageType,依此类推 是否有方法进行相同类型的基于位置的拆分,或者如何在Pig/MapReduce中解决此问题?是的。在Map Reduce代码中,有如下内容

这是我的示例日志文件中的一行

[Sun Mar 7 16:05:49 2004][info][client 64.242.88.10](104)对等方重置连接:客户端在发送正文完成之前已停止连接

大多数线的固定长度相同,在SAS中,我用于根据位置/位置拆分这些线。例如,2-24中的字符是TimeStamp列,29-31中的字符是MessageType,依此类推


是否有方法进行相同类型的基于位置的拆分,或者如何在Pig/MapReduce中解决此问题?

是的。在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);

     .........

谢谢苏达珊,这很有帮助。在PIG中,我也可以使用UDF进行类似的操作。