apache-spark - 使用 pyspark 在数据 block 中实现 FileNotFound 异常

标签 apache-spark pyspark apache-spark-sql databricks azure-databricks

我正在尝试在 Databricks 中使用 Pyspark 实现异常处理,我需要检查文件是否存在于源位置。

  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")**

我希望有类似于上面代码片段的东西,但是我无法采用这种方法。我会请求一些帮助真的很感激

最佳答案

你不能直接排除 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')

关于apache-spark - 使用 pyspark 在数据 block 中实现 FileNotFound 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64808353/

相关文章:

scala - Spark : Custom key compare method for reduceByKey

java - Spark SQL - DataFrame - 选择 - 转换还是操作?

docker - 在Dockerfile中安装pyspark

python - Pyspark RDD 的最大文件大小

python - 如何将 pyspark 中的一列映射到多列?

apache-spark - 从 JavaRDD<Row> 创建的 Spark DataFrame 将所有列数据复制到第一列

apache-spark - 排序后未对 Spark 数据框进行排序

apache-spark - 为什么poseexplode 失败并显示 "AnalysisException: The number of aliases supplied in the AS clause does not match the number of columns..."?

python - 包含 pyspark SQL : TypeError: 'Column' object is not callable

apache-spark - 从多个分区读取多个 parquet 文件