title: How does Hadoop perform input splits?
body: <p>This is a conceptual question involving Hadoop/HDFS. Lets say you have a file containing 1 billion lines. And for the sake of simplicity, lets consider that each line is of the form <code>&lt;k,v&gt;</code> where k is the offset of the line from the beginning and value is the content of the line. </p>
  
  <p>Now, when we say that we want to run N map tasks, does the framework split the input file into N splits and run each map task on that split? or do we have to write a partitioning function that does the N splits and run each map task on the split generated? </p>
  
  <p>All i want to know is, whether the splits are done internally or do we have to split the data manually?</p>
  
  <p>More specifically, each time the map() function is called what are its <code>Key key and Value val</code> parameters?</p>
  
  <p>Thanks,
  Deepak </p>