gpt4 book ai didi

python - 使用 PyArrow 时如何捕获 Python UDF 异常

转载 作者:行者123 更新时间:2023-12-04 13:00:48 36 4
gpt4 key购买 nike

启用 PyArrow 后,由 Executor 引发的 Pandas UDF 异常将无法捕获:请参见下面的示例。这是预期的行为吗?

如果是这样,理由是什么。如果没有,我该如何解决这个问题?

PyArrow 0.11 和 0.14.1(最新)以及 PySpark 2.4.0 和 2.4.3 中的确认行为。 python 3.6.5。

import pandas as pd
from pyspark.sql import SparkSession
from pyspark.sql.functions import udf

spark = SparkSession.builder.getOrCreate()

# setting this to false will allow the exception to be caught
spark.conf.set("spark.sql.execution.arrow.enabled", "true")

@udf
def disrupt(x):
raise Exception("Test EXCEPTION")

data = spark.createDataFrame(pd.DataFrame({"A": [1, 2, 3]}))

try:
test = data.withColumn("test", disrupt("A")).toPandas()
except:
print("exception caught")

print('end')

我希望广泛的 except 能够捕获每一个异常。

最佳答案

更新:据我所知,这是设计使然,但如果有人有任何其他想法,我很乐意听取您的意见。 IE。是否可以让 PyArrow 将异常错误日志指向其他地方?

关于python - 使用 PyArrow 时如何捕获 Python UDF 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57610709/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com