Pyspark加载CSV文件错误并删除文件

时间:2018-11-02 10:53:44

标签: pyspark apache-spark-sql

我正在运行一个 PySpark作业,该作业会从文件中读取数据(如果存在),如果不存在,则会创建一个空的数据框,然后在下次运行该作业时将其写为文件。

>

我有相同的代码在不同的工作中工作,但为此。每当我第二次运行该文件时,即使存在文件,也会抛出错误,提示不存在文件,然后然后将其删除

任何信息都会有所帮助。谢谢。

def load_master_logs(spark, master_path):
    # verify master file exists, if not, create one with headers
    file_mask = "part*.csv"
    if glob.glob(os.path.join(master_path, file_mask)):
        master_file = glob.glob(os.path.join(master_path, file_mask))[0]
        master_df = spark.read.csv(master_file, header=True, schema=MASTER_SCHEMA)
    else:
        log_and_send_to_slack("No existing master file found creating new one")
        master_df = spark.createDataFrame([], schema=MASTER_SCHEMA)
    master_df.cache()
    return master_df

1 个答案:

答案 0 :(得分:0)

所以我最终使它工作了,好像与Spark SQL SaveMode.Overwrite, getting java.io.FileNotFoundException and requiring 'REFRESH TABLE tableName'一样,我能够通过创建一个临时目录来写入文件,然后删除所需目录中的所有文件,然后从温度不知道为什么这样行得通,而删除和重新创建文件夹却行不通,因此希望从任何对底层代码足够了解的人那里了解逻辑。还仍然不知道为什么原始代码可以在其他工作上正常工作吗?