Как отправлять логи из функции UDF в Pyspark - PullRequest
1 голос
/ 15 октября 2019

Если вы добавите какой-либо вид входа в функцию 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())

Журналы от функции НЕ появятся нигде.

...