Создание множества пустых столбцов в PySpark - PullRequest
0 голосов
/ 23 мая 2018

У меня есть список из множества фреймов данных, каждый со схемой подмножества главной схемы.Чтобы объединить эти кадры данных, мне нужно построить общую схему среди всех кадров данных.Я думаю, что мне нужно создать пустые столбцы для всех отсутствующих столбцов для каждого из фреймов данных.У меня есть в среднем около 80 отсутствующих функций и сотен фреймов данных.

Это несколько дублирует или вдохновлен Объединение двух фреймов данных PySpark

В настоящее время я реализую такие вещиway:

from pyspark.sql.functions import lit

for df in dfs:    # list of dataframes
    for feature in missing_features:   # list of strings
        df = df.withColumn(feature, lit(None).cast("string"))

Это, кажется, занимает значительное количество времени.Есть ли более быстрый способ объединить эти кадры данных с нулем вместо отсутствующих функций?

1 Ответ

0 голосов
/ 23 мая 2018

Возможно, вам удастся немного сократить время, заменив код на:

cols = ["*"] + [lit(None).cast("string").alias(f) for f in missing_features]

dfs_new = [df.select(cols) for df in dfs]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...