операции подсчета и сбора занимают много времени на пустом кадре данных искры - PullRequest
0 голосов
/ 02 июля 2019

Я создаю пустой фрейм данных spark с помощью spark.createDataFrame ([], схема), а затем добавляю строки из списков, но доступ к фрейму данных (count-collect) занимает слишком много времени по сравнению с обычным на этом фрейме данных .

Функция dataframe.count () для 1000 строк в фрейме данных, созданном из Csv-файлов, занимает 300 мс, а в пустом фрейме данных, созданном из схемы, - 4 секунды. Вот откуда эта разница?

schema = StructType([StructField('Average_Power',FloatType(),True),
StructField('Average_Temperature',FloatType(),True),                     
StructField('ClientId',StringType(),True),])

df = df_event_spark = spark.createDataFrame([], schema) 
df.count()

Есть ли способ создать пустой фрейм с искровыми данными более оптимизированным способом?

1 Ответ

0 голосов
/ 02 июля 2019

Нет, это рекомендуемый способ в pyspark.

Существует определенное преимущество при запуске Spark App или запуске чего-либо из ноутбука.100 строк - это крошечные, но затраты на запуск Spark App и т. Д. Относительно велики по сравнению с таким небольшим объемом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...