天天看點

Spark讀取檔案如何區分HDFS檔案和本地檔案

在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上的檔案。