Поделиться через


Оптимизация производительности соединения в Azure Databricks

С помощью Azure Databricks можно создавать соединения в пакетной или потоковой таблице. Некоторые соединения могут быть дорогостоящими. Ниже приведены инструкции по оптимизации соединений.

Дополнительные сведения о соединениях см. в статье "Работа с соединениями в Azure Databricks".

Вычисление с включенной функцией Photon всегда выбирает лучший тип соединения. См. статью " Что такое Фотон?". Использование последней версии среды выполнения Databricks с поддержкой Photon обычно обеспечивает хорошую производительность соединения, но следует также рассмотреть следующие рекомендации:

  • Перекрестные соединения очень дороги. Удалите перекрестные соединения из рабочих нагрузок и запросов, требующих низкой задержки или частой повторной компиляции.

  • Порядок соединения имеет значение. При выполнении нескольких соединений всегда присоединяйте наименьшие таблицы, а затем присоединяйте результат к большим таблицам.

  • Оптимизатор может испытывать трудности с запросами с множеством соединений и агрегаций. Сохранение промежуточных результатов может ускорить планирование запросов и вычисление результатов.

  • Сохраняйте свежие статистические данные, чтобы повысить производительность. Прогнозная оптимизация автоматически обновляет и поддерживает статистику. См. прогнозную оптимизацию для управляемых каталогом Unity таблиц.

    Вы также можете запустить запрос ANALYZE TABLE table_name COMPUTE STATISTICS для обновления статистики в планировщике запросов.

Примечание.

В Databricks Runtime 14.3 LTS и более поздних версиях можно изменить столбцы, по которым Delta Lake собирает статистику для пропуска данных, а затем пересчитать существующую статистику в журнале Delta. См. раздел "Указание столбцов статистики".