在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上的文件。