реализовать исключение FileNotFound в блоках данных с помощью pyspark

#apache-spark #pyspark #apache-spark-sql #databricks #azure-databricks

#apache-spark #pyspark #apache-spark-sql #блоки данных #azure-databricks

Вопрос:

Я пытаюсь реализовать обработку исключений с помощью Pyspark в Databricks, где мне нужно проверить файл, существует ли он в исходном местоположении.

   df = spark.read.csv.option("inferschema", "true").load("mnt/pnt/abc.csv") 

  try:    
      df = open("abc.csv", "rt")
      print("File opened")
  except FileNotFoundError:
      print("File does not exist")
  except:
      print("Other error")**
  

Я хотел бы иметь что-то вроде приведенного выше фрагмента кода, однако я не могу использовать этот подход. Я бы попросил помощи, был бы очень благодарен

Ответ №1:

Вы не можете напрямую, кроме java.io ошибки, однако вы могли бы сделать что-то вроде:

 def read_file(path):
  try:
    dbutils.fs.ls(path)
    return spark.read.option("inferschema","true").csv(path)
  except Exception as e:
    if 'java.io.FileNotFoundException' in str(e):
      print('File does not exists')
    else:
      print('Other error')

read_file('mnt/pnt/abc.csv')
  

Комментарии:

1. Очень странно, что у Databricks нет «исключения, кроме FileNotFoundException», чтобы перехватить ошибку