Если вы добавите какой-либо вид входа в функцию UDF в PySpark, она нигде не появится. Это какой-то метод, чтобы это произошло?
До сих пор я пробовал стандартное ведение журнала на python, py4j, а также print.
Мы запускаем PySpark 2.3.2 с менеджером кластеров YARN на AWSEMR кластеры.
Например. Вот функция, которую я хочу использовать:
def parse_data(attr):
try:
# execute something
except Exception as e:
logger.error(e)
return None
Я конвертирую ее в UDF:
import pyspark.sql.functions as F
parse_data_udf = F.udf(parse_data, StringType())
И я буду использовать ее на фрейме данных:
from pyspark.sql import types as pst
dataframe = dataframe.withColumn("new_column", parse_data_udf("column").cast(pst.StringType())
Журналы от функции НЕ появятся нигде.