Что такое pyspark-эквивалент MERGE INTO для базы данных Дельта Лейк? - PullRequest
1 голос
/ 02 апреля 2020

Блок данных Документация описывает, как выполнить слияние для дельта-таблиц.

В SQL можно использовать синтаксис

MERGE INTO [db_name.]target_table [AS target_alias]
USING [db_name.]source_table [<time_travel_version>] [AS source_alias]
ON <merge_condition>
[ WHEN MATCHED [ AND <condition> ] THEN <matched_action> ]
[ WHEN MATCHED [ AND <condition> ] THEN <matched_action> ]
[ WHEN NOT MATCHED [ AND <condition> ]  THEN <not_matched_action> ]

. * python -эквивалент доступен?

1 Ответ

2 голосов
/ 05 апреля 2020

Мне удалось найти документацию с помощью Александроса Бирациса. Документацию можно найти здесь . Примером такого слияния является

deltaTable.alias("events").merge(
    source = updatesDF.alias("updates"),
    condition = "events.eventId = updates.eventId"
  ).whenMatchedUpdate(set =
    {
      "data": "updates.data",
      "count": "events.count + 1"
    }
  ).whenNotMatchedInsert(values =
    {
      "date": "updates.date",
      "eventId": "updates.eventId",
      "data": "updates.data",
      "count": "1"
    }
  ).execute()
...