use*_*820 6 python python-3.x pyspark
我对编码很陌生,所以我为这个愚蠢的问题道歉。我正在编写一个 Spark 函数,它接受文件路径和文件类型并创建一个数据帧。如果输入无效,我只想打印某种错误消息并返回一个空数据帧。我会使用 try except 吗?
def rdf(name, type):
try:
df=spark.read.format(type).load(name)
return df
except ____ as error:
print(error)
return "" #I want to return an empty RDD here, but I can't figure out how to make one
Run Code Online (Sandbox Code Playgroud)
我怎么知道____里有什么?我尝试了 org.apache.spark.SparkException ,因为这是我在将 .csv 文件作为镶木地板传递时遇到的错误,它破坏了,但不起作用
您可以在 try-except 块中捕获多个异常;例如:
def rdf(name, type):
try:
df=spark.read.format(type).load(name)
return df
except (SparkException, TypeError) as error:
print(error)
return ""
Run Code Online (Sandbox Code Playgroud)
您可以替换该元组或向该元组添加错误。
使用 aException
可能会消除与代码无关的错误(如名称是 S3 路径时的网络问题)。这可能是您不希望您的程序处理的事情。