PySpark эффективный способ вычисления среднего двух таблиц на общих столбцах - PullRequest
0 голосов
/ 24 февраля 2020

Допустим, у меня есть 2 PySpark dataframe T1 и T2 с похожей структурой. Есть несколько столбцов, которые существуют в одном и не повторяются в другом.

T1
ID | balance | interest | T1_non_repeated_1 | T1_non_repeated_2

T2
ID | balance | interest | T2_non_repeated_1 | T2_non_repeated_2 | T2_not_repeated_3

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

Моя мысль о Pyspark (pseudo_code) на данный момент:

T2.left_join(T1).withColumn("balance",(balance1+balance2)/2).withColumn("interest", (interest1+interest2)/2)....

Мои вопросы:

  1. Это длинная команда в pyspark, если У меня есть, скажем, 100 общих столбцов для обеих таблиц. Любой способ написать по-другому и динамически генерировать команду для всех 100 общих столбцов?

  2. Другие предложения приветствуются.

Спасибо

...