Обновление таблицы базы данных с помощью Pyspark в Databricks - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть таблица в Azure SQL База данных сервера, которая заполняется из моего Dataframe. Я хочу обновить эту таблицу на основе нескольких блоков данных условий, используя pyspark / pandas. Я новичок в PySpark / Databricks / Pandas, кто-то может посоветовать, как обновить таблицу? я вставил данные в таблицу - одно из решений, о котором я мог бы подумать, - это загрузить данные из таблицы в кадр данных, а затем объединить новый файл в тот же кадр данных, затем удалить данные из таблицы и вставить этот кадр данных. Если это правильный подход, то как мы можем удалить данные из таблицы базы данных в приведенном выше сценарии?

1 Ответ

0 голосов
/ 26 апреля 2020

Как вы заявили, «загрузите данные из таблицы в кадр данных, а затем объедините новый файл в тот же кадр данных, затем удалите данные из таблицы и вставьте этот кадр данных». Это определенно один вариант. Я не знаю, является ли это абсолютной лучшей практикой, но это должно быть чертовски быстро, и почти наверняка предпочтительным способом сделать это, потому что кластер будет работать параллельно, и, как таковой, манипулирование данными, вычисления и т. Д. c., будет сделано супер-быстро! Конечно, вы можете запускать обновления SQL прямо на столе. Если эти таблицы действительно большие (например, миллиарды записей и десятки столбцов), возможно, они будут очень медленными (SQL НЕ будет работать параллельно в кластере, тогда как Spark сделает именно это).

См. Ссылку ниже для некоторых дополнительных идей о том, что можно сделать.

https://kb.databricks.com/data/join-two-dataframes-duplicated-columns.html

...