Использование SQL или Spark-SQL — как обновить значение столбца на основе количества записей агрегации, превышающего 1Python

Программы на Python
Ответить
Anonymous
 Использование SQL или Spark-SQL — как обновить значение столбца на основе количества записей агрегации, превышающего 1

Сообщение Anonymous »

У меня есть набор данных о том, как клиенты отказываются от участия в рекламной акции. У них всегда будет уникальный идентификатор customer_id, но они могут совместно использовать жилое пространство. Проблема возникает, когда два клиента, живущие в одной семье, используют разные методы рекламных действий (добавление, удаление, NULL) в один и тот же день.
Проблема возникает, когда несколько членов семьи имеют отдельные promo_action. значения происходят в одну и ту же дату promo_action_date. Если один из членов семьи выбирает удаление, нам необходимо обеспечить, чтобы все члены семьи считались удаленными для участия в рекламной акции. В этом случае как можно обновить столбец promo_action, если существует несколько записей с одинаковыми значениями house_id и promo_action_date, но разными значениями promo_action? В этом случае необходимо было бы обновить promo_action_date на «DELETE».
Таблица promo_action_household содержит 4 столбца, которые можно увидеть здесь в заголовках.
До
customer_id|house_id|promo_action|promo_action_date
101|54|DELETE|03.10.2024
157|54|NULL|03.10.2024
После
customer_id|household_id| promo_action|promo_action_date
101|54|УДАЛИТЬ|2024-10-03
157|54|УДАЛИТЬ|2024 -10-03
Я надеялся обновить столбцы записей на «УДАЛИТЬ», если это условие было выполнено при запросе таблицы promo_action_household. Здесь можно использовать SQL или Spark-SQL.
выберите домохозяйство_id, promo_action_date, count() из группы promo_action_household по домохозяйству_id, promo_action_date, имеющее счетчик() >1

Подробнее здесь: https://stackoverflow.com/questions/791 ... ion-record
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»