[ https://issues.apache.org/jira/browse/MAPREDUCE-2208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13069451#comment-13069451 ]
Lance Norskog commented on MAPREDUCE-2208: ------------------------------------------ Hadoop assumes that it will process several files of the same format. Will every CSV file have the same header? If you split a giant CSV file into many pieces, will you reproduce the header line on the 2nd through N file? Hadoop jobs are generally configured with total knowledge of the data. The mappers are hard-coded for the input formats. The code could include a rule for how to decide that the first line is a header and skip over it. That would be worth adding. > Flexible CSV text parser InputFormat > ------------------------------------ > > Key: MAPREDUCE-2208 > URL: https://issues.apache.org/jira/browse/MAPREDUCE-2208 > Project: Hadoop Map/Reduce > Issue Type: New Feature > Reporter: Lance Norskog > Priority: Trivial > Attachments: CSVTextInputFormat.java, TestCSVTextFormat.java > > > CSVTextInputFormat is a configurable CSV parser tuned to most of the > csv-style datasets I've found. The Hadoop samples I've seen all > FileInputFormat and Mapper<LongWritable,Text>. They drop the Longwritable key > and parse the Text value as a CSV line. But, they are all custom-coded for > the format. > CSVTextInputFormat takes any csv-encoded file and rearrange the fields into > the format required by a Mapper. You can drop fields & rearrange them. There > is also a random sampling option to make training/test runs easier. > Attached are CSVTextInputFormat.java and a unit test for it. Both go into > org.apache.hadoop.mapreduce.lib.input under src/java and test/mapred/src. > This is compiled against hadoop-0.0.20. -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira