Pyspark загружает CSV файл ошибок и удаляет файл - PullRequest
0 голосов
/ 02 ноября 2018

Я выполняю задание 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 голосов
/ 02 ноября 2018

Таким образом, я получил его в конце концов, он работает так же, как и Spark SQL SaveMode.Overwrite, получив java.io.FileNotFoundException и требующий 'REFRESH TABLE tableName' , и я смог ее решить создавая временную директорию для записи, затем удаляя все файлы в нужной директории, а затем копируя в противоположность временному каталогу. Не знаю, почему это работает, а удаление и воссоздание папки - нет, поэтому хотелось бы узнать логику от любого, кто достаточно понимает основной код. Также до сих пор не знаю, почему оригинальный код отлично работает на другой работе?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...