title: Error when trying to load a file with sc.textFile in Windows
body: <p>I am new to hadoop and I am trying to upload a local file using sc.textFile command</p>
  
  <pre><code>val data = sc.textFile("file:///D:\\test.txt")
  </code></pre>
  
  <p>After this I try to do some operation on this data then I get the error</p>
  
  <pre><code>java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: D:test.txt
          at org.apache.hadoop.fs.Path.initialize(Path.java:206)
          at org.apache.hadoop.fs.Path.&lt;init&gt;(Path.java:172)
          at org.apache.hadoop.fs.Path.&lt;init&gt;(Path.java:94)
          at org.apache.hadoop.fs.Globber.glob(Globber.java:248)
          at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1698)
          at org.apache.hadoop.mapred.FileInputFormat.singleThreadedListStatus(FileInputFormat.java:229)
          at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:200)
          at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:270)
          at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:179)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:204)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:202)
          at scala.Option.getOrElse(Option.scala:120)
          at org.apache.spark.rdd.RDD.partitions(RDD.scala:202)
          at org.apache.spark.rdd.MappedRDD.getPartitions(MappedRDD.scala:28)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:204)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:202)
          at scala.Option.getOrElse(Option.scala:120)
          at org.apache.spark.rdd.RDD.partitions(RDD.scala:202)
          at org.apache.spark.rdd.FlatMappedRDD.getPartitions(FlatMappedRDD.scala:30)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:204)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:202)
          at scala.Option.getOrElse(Option.scala:120)
          at org.apache.spark.rdd.RDD.partitions(RDD.scala:202)
          at org.apache.spark.rdd.MappedRDD.getPartitions(MappedRDD.scala:28)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:204)
          at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:202)
          at scala.Option.getOrElse(Option.scala:120)
          at org.apache.spark.rdd.RDD.partitions(RDD.scala:202)
          at org.apache.spark.Partitioner$.defaultPartitioner(Partitioner.scala:65)
          at org.apache.spark.rdd.PairRDDFunctions.reduceByKey(PairRDDFunctions.scala:279)
          at $iwC$$iwC$$iwC$$iwC.&lt;init&gt;(&lt;console&gt;:16)
          at $iwC$$iwC$$iwC.&lt;init&gt;(&lt;console&gt;:21)
          at $iwC$$iwC.&lt;init&gt;(&lt;console&gt;:23)
          at $iwC.&lt;init&gt;(&lt;console&gt;:25)
          at &lt;init&gt;(&lt;console&gt;:27)
          at .&lt;init&gt;(&lt;console&gt;:31)
          at .&lt;clinit&gt;(&lt;console&gt;)
          at .&lt;init&gt;(&lt;console&gt;:7)
          at .&lt;clinit&gt;(&lt;console&gt;)
          at $print(&lt;console&gt;)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at org.apache.spark.repl.SparkIMain$ReadEvalPrint.call(SparkIMain.scala:789)
          at org.apache.spark.repl.SparkIMain$Request.loadAndRun(SparkIMain.scala:1062)
          at org.apache.spark.repl.SparkIMain.loadAndRunReq$1(SparkIMain.scala:615)
          at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:646)
          at org.apache.spark.repl.SparkIMain.interpret(SparkIMain.scala:610)
          at org.apache.spark.repl.SparkILoop.reallyInterpret$1(SparkILoop.scala:814)
          at org.apache.spark.repl.SparkILoop.interpretStartingWith(SparkILoop.scala:859)
          at org.apache.spark.repl.SparkILoop.command(SparkILoop.scala:771)
          at org.apache.spark.repl.SparkILoop.processLine$1(SparkILoop.scala:616)
          at org.apache.spark.repl.SparkILoop.innerLoop$1(SparkILoop.scala:624)
          at org.apache.spark.repl.SparkILoop.loop(SparkILoop.scala:629)
          at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply$mcZ$sp(SparkILoop.scala:954)
          at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:902)
          at org.apache.spark.repl.SparkILoop$$anonfun$process$1.apply(SparkILoop.scala:902)
          at scala.tools.nsc.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:135)
          at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:902)
          at org.apache.spark.repl.SparkILoop.process(SparkILoop.scala:997)
          at org.apache.spark.repl.Main$.main(Main.scala:31)
          at org.apache.spark.repl.Main.main(Main.scala)
          at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
          at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
          at java.lang.reflect.Method.invoke(Method.java:606)
          at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:328)
          at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:75)
          at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
  Caused by: java.net.URISyntaxException: Relative path in absolute URI: D:test.txt
          at java.net.URI.checkPath(URI.java:1804)
          at java.net.URI.&lt;init&gt;(URI.java:752)
          at org.apache.hadoop.fs.Path.initialize(Path.java:203)
          ... 69 more
  </code></pre>
  
  <p>I have tried a few variants in the command sc.textFile. Such as</p>
  
  <pre><code>val data = sc.textFile("file:///D:/test.txt")
  </code></pre>
  
  <p>then I get the error </p>
  
  <pre><code>java.lang.IllegalArgumentException: java.net.URISyntaxException: Expected scheme-specific part at index 2: D
  </code></pre>
  
  <p>I have been trying for a long time but I am not able to get this basic thing correct. Can someone please help !! Thanks in advance !! </p>