#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», чтобы перехватить ошибку