1

I just started learning pyspark and here seems to be a showstopper: I tried to load a local text file into spark:

base_df = sqlContext.read.text("/root/Downloads/SogouQ1.txt")

16/12/29 11:55:20 INFO text.TextRelation: Listing hdfs://localhost:9000/root/Downloads/SogouQ1.txt on driver

base_df.show(10)

16/12/29 11:55:36 INFO storage.MemoryStore: Block broadcast_2 stored as values in memory (estimated size 61.8 KB, free 78.0 KB) 16/12/29 11:55:36 INFO storage.MemoryStore: Block broadcast_2_piece0 stored as bytes in memory (estimated size 19.6 KB, free 97.6 KB) 16/12/29 11:55:36 INFO storage.BlockManagerInfo: Added broadcast_2_piece0 in memory on localhost:35556 (size: 19.6 KB, free: 511.1 MB) 16/12/29 11:55:36 INFO spark.SparkContext: Created broadcast 2 from showString at NativeMethodAccessorImpl.java:-2 16/12/29 11:55:36 INFO storage.MemoryStore: Block broadcast_3 stored as values in memory (estimated size 212.1 KB, free 309.7 KB) 16/12/29 11:55:36 INFO storage.MemoryStore: Block broadcast_3_piece0 stored as bytes in memory (estimated size 19.6 KB, free 329.2 KB) 16/12/29 11:55:36 INFO storage.BlockManagerInfo: Added broadcast_3_piece0 in memory on localhost:35556 (size: 19.6 KB, free: 511.1 MB) 16/12/29 11:55:36 INFO spark.SparkContext: Created broadcast 3 from showString at NativeMethodAccessorImpl.java:-2 Traceback (most recent call last):
File "", line 1, in File "/opt/spark/python/pyspark/sql/dataframe.py", line 257, in show print(self._jdf.showString(n, truncate)) File "/opt/spark/python/lib/py4j-0.9-src.zip/py4j/java_gateway.py", line 813, in call File "/opt/spark/python/pyspark/sql/utils.py", line 45, in deco return f(*a, **kw) File "/opt/spark/python/lib/py4j-0.9-src.zip/py4j/protocol.py", line 308, in get_return_value py4j.protocol.Py4JJavaError: An error occurred while calling o34.showString. : java.io.IOException: No input paths specified in job at org.apache.hadoop.mapred.FileInputFormat.listStatus(FileInputFormat.java:201) at org.apache.hadoop.mapred.FileInputFormat.getSplits(FileInputFormat.java:313) at org.apache.spark.rdd.HadoopRDD.getPartitions(HadoopRDD.scala:199) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237) at scala.Option.getOrElse(Option.scala:120) at org.apache.spark.rdd.RDD.partitions(RDD.scala:237) at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237) at scala.Option.getOrElse(Option.scala:120) at org.apache.spark.rdd.RDD.partitions(RDD.scala:237) at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237) at scala.Option.getOrElse(Option.scala:120) at org.apache.spark.rdd.RDD.partitions(RDD.scala:237) at org.apache.spark.rdd.MapPartitionsRDD.getPartitions(MapPartitionsRDD.scala:35) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:239) at org.apache.spark.rdd.RDD$$anonfun$partitions$2.apply(RDD.scala:237) at scala.Option.getOrElse(Option.scala:120) at org.apache.spark.rdd.RDD.partitions(RDD.scala:237) at org.apache.spark.sql.execution.SparkPlan.executeTake(SparkPlan.scala:190) at org.apache.spark.sql.execution.Limit.executeCollect(basicOperators.scala:165) at org.apache.spark.sql.execution.SparkPlan.executeCollectPublic(SparkPlan.scala:174) at org.apache.spark.sql.DataFrame$$anonfun$org$apache$spark$sql$DataFrame$$execute$1$1.apply(DataFrame.scala:1499) at org.apache.spark.sql.DataFrame$$anonfun$org$apache$spark$sql$DataFrame$$execute$1$1.apply(DataFrame.scala:1499) at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:56) at org.apache.spark.sql.DataFrame.withNewExecutionId(DataFrame.scala:2086) at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$execute$1(DataFrame.scala:1498) at org.apache.spark.sql.DataFrame.org$apache$spark$sql$DataFrame$$collect(DataFrame.scala:1505) at org.apache.spark.sql.DataFrame$$anonfun$head$1.apply(DataFrame.scala:1375) at org.apache.spark.sql.DataFrame$$anonfun$head$1.apply(DataFrame.scala:1374) at org.apache.spark.sql.DataFrame.withCallback(DataFrame.scala:2099) at org.apache.spark.sql.DataFrame.head(DataFrame.scala:1374) at org.apache.spark.sql.DataFrame.take(DataFrame.scala:1456) at org.apache.spark.sql.DataFrame.showString(DataFrame.scala:170) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:497) at py4j.reflection.MethodInvoker.invoke(MethodInvoker.java:231) at py4j.reflection.ReflectionEngine.invoke(ReflectionEngine.java:381) at py4j.Gateway.invoke(Gateway.java:259) at py4j.commands.AbstractCommand.invokeMethod(AbstractCommand.java:133) at py4j.commands.CallCommand.execute(CallCommand.java:79) at py4j.GatewayConnection.run(GatewayConnection.java:209) at java.lang.Thread.run(Thread.java:745)

I apologize for the messing error message showing here in StackOverflow, I don't know how to beautify it.

When I do this, it works:

wordsDF = sqlContext.createDataFrame([('cat',), ('elephant',), ('rat',), ('rat',), ('cat',)],['word'])
wordsDF.show()
+--------+
|    word|
+--------+
|     cat|
|elephant|
|     rat|
|     rat|
|     cat|
+--------+

Thank you very much.

zero323
  • 322,348
  • 103
  • 959
  • 935
PasLeChoix
  • 311
  • 1
  • 5
  • 21

1 Answers1

1

Thanks for @user6910411, the link he provided is the answer to my question:

base_df = sqlContext.read.text("file:///root/Downloads/SogouQ1.txt")
PasLeChoix
  • 311
  • 1
  • 5
  • 21