У меня есть приложение в pyspark, которое включает функции закрытия, содержащие инструкции ведения журнала, я не знаю, как записывать сообщения в файл local/hdfs в pyspark. я пытался что-то, как показано ниже, но не работает:Запись из приложения pyspark в локальный или hdfs-файл
import json
from pyspark import SparkContext
import logging
def parse_json(text_line):
try:
return(json.loads(text_line))
except ValueError:
# here I need to log a warning message to a local file or even to default spark logs
logger.warn("invalid json structure" + text_line)
return({})
if __name__ == "__main__":
my_data = ['{"id": "111", "name": "aaa"}',
'{"wrong json", "name": "bbb"}',
'{"id": "333", "name": "ccc"}']
sc = SparkContext()
logger = logging.getLogger('py4j')
lines = sc.parallelize(my_data)
my_data_json = lines.map(parse_json).filter(lambda x: x)
print(my_data_json.collect())
Любая помощь, пожалуйста!
Вы можете определить "не работает"? вы получаете ошибку или «ничего не происходит»? – Creos
У меня нет ошибки, но я не нашел сообщения журнала в файлах журналов драйверов или исполнителей. –