у нас есть таблица в хранилище данных Azure с 17 миллиардами записей. Теперь у нас есть сценарий, в котором мы должны удалить записи из этой таблицы на основе некоторого условия. Мы пишем Spark на языке Scala в записных книжках Azure Databricks.
Мы искали различные варианты сделать это в Spark, но все предлагали сначала прочитать всю таблицу, удалить из нее записи, а затем перезаписать всю таблицу в Data Warehosue. Однако в нашем случае такой подход не сработает из-за огромного количества записей в нашей таблице.
Не могли бы вы подсказать, как мы можем достичь этой функциональности с помощью spark / scala?
1) проверил, можем ли мы вызвать хранимую процедуру через код spark / scala в лазурных модулях данных, но Spark не поддерживает хранимые процедуры.
2) Пытался сначала прочитать всю таблицу, чтобы удалить записи, но это заходит в бесконечный цикл.
DELETE FROM ... WHERE ...
? При необходимости вы также можете запускать SQL-запросы от рабочих Spark. - person simpadjo   schedule 30.07.2019