在Hadoop叢集上配置的Spark如果直接讀取檔案預設的是讀取HDFS上的檔案,那麼如果想要讀取本地的檔案就不能直接寫還需要說明如下:
from pyspark.sql import SparkSession
def CreateSparkContext():
# 建構SparkSession執行個體對象
spark = SparkSession.builder \
.appName("SparkSessionExample") \
.master("local") \
.getOrCreate()
# 擷取SparkContext執行個體對象
sc = spark.sparkContext
return sc
if __name__ == "__main__":
# 擷取SparkContext執行個體對象
sc = CreateSparkContext()
# 讀取本地資料到RDD
raw_ratings_rdd = read_file_to_RDD(sc, "file:///opt/lin/data/train/result.txt")
那麼如果不加file://那麼讀取的就是hdfs上的檔案。