2017-11-29 9 views
0

私はスパークを開始していますが、ローカルモードで例を試しています... RDDを作成する際のいくつかの例では、ファイルへの相対パスが使用され、その他のパスでは「file:///」で始まります。 2番目のオプションは私にとってはまったく機能しませんでした - 「入力パスは存在しません」pySparkローカルモード - テキストファイルをfile:///と相対パスでロードする

誰もファイルパスを使用してファイルパスを使用し、その前に 'file:///'私はローカルモードで

from pyspark import SparkConf, SparkContext 
conf = SparkConf().setMaster("local").setAppName("test") 
sc = SparkContext(conf = conf) 

#This will work providing the relative path 
lines = sc.textFile("code/test.csv") 

#This will not work 
lines = sc.textFile("file:///code/test.csv") 
+0

あなたのパスが '/ code/test.csv'であることを' file:/// code/test.csv'は意味しませんか? – philantrovert

+0

file://私は "expected:file:///"というエラーが発生します – martini

+1

file://ローカルファイルシステムのフルパスが必要です。ローカルモードで実行しているので、file://を指定せずに相対パスを指定すると、sparkは内部的にフルパスを自動的に生成します。 –

答えて

1

sc.textFile("code/test.csv")を実行しているMac上でスパーク2.2を使用しています

は、HDFS上の/<hive.metastore.warehouse.dir>/code/test.csvのtest.CSVを意味します。

sc.textFile("hdfs:///<hive.metastore.warehouse.dir>/code/test.csv")は上記と同じです。

sc.textFile("file:///code/test.csv")を意味するtest.csv in /code/test.csvローカルファイルシステム。