#apache-spark #pyspark #apache-spark-sql #rdd #databricks
Вопрос:
Я новичок в Spark и Databricks. Я заметил, что у меня больше журналов, чем я ожидал. Я исследовал проблему и сузил ее до конкретной проблемы:
def func_1(*args, **kwargs): print("some work here") yield [Row('field1', 'field2')(1, 2)] test_list = [[1, 2, 3, 4, 5]] testRDD = sc.parallelize(test_list, 1) resultRDD = testRDD.mapPartitions(func_1, 1) resultsDF = spark.createDataFrame(resultRDD.flatMap(lambda x: x), schema=someSchema) resultsDF.collect() sdf = sdf.union(resultsDF) print(sdf.count())
Все в sdf.count()
порядке, он возвращает 1. Проблема в том, что func_1
по какой-то причине его вызывают 8 раз.
Может ли кто-нибудь помочь мне в дальнейшем расследовании этого?
Комментарии:
1. можете ли вы показать весь код, включая ваши запросы someSchema?
2. @thebluephantom к сожалению, проект является коммерческим, поэтому все детали находятся в разделе NDA. Но, как я указал в вопросе, проблема была сведена к этой части кода. Как вы думаете, может ли схема быть проблемой здесь?
3. Нет, но удобно предоставить код, который работает для ответа на вопрос…