[
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