Правила версионирования
SPYT состоит из двух частей:
- кластер, в который заранее установлен Spark;
- клиент, в который ставится пакет
ytsaurus-spyt
черезpip
.
SPYT собирается в несколько артефактов:
- архив
.tar
с модифицированной сборкой Spark, который выкладывается в YTsaurus и читается при запуске кластера; - pip-пакет
ytsaurus-pyspark
. Внутрь пакета кладутся все файлы модифицированного Spark, как в.tar
из предыдущего пункта; - pip-пакет
ytsaurus-spyt
, зависящий в свою очередь от пакетаytsaurus-pyspark
. Содержит сборку всех модулей SPYT и их зависимостей, не входящих в дистрибутив Spark. Выкладывается в репозиторий и устанавливается на клиентские хосты. Также в состав этого пакета входят необходимые CLI утилиты для запуска внутреннего standalone кластера и запуска на нём Spark приложений.
При установке новой версии ytsaurus-spyt
автоматически обновляется ytsaurus-pyspark
.
В большинстве случаев достаточно обновить ytsaurus-spyt
. Но иногда, чтобы заработала новая функциональность, придется обновить кластер. Порядок и объём обновления можно узнать по версиям.
Порядок обновления
- Номер версии кластера и клиента состоит из трех частей. Обновление последней части (минорной) версии означает, что никакая совместимость не нарушена, изменение было локальным в одной компоненте.
- В случае обновления средней части (мажорной) версии может быть нарушена обратная совместимость с кластерами предыдущих версий, поэтому рекомендуется использовать такой клиент, мажорная версия которого совпадает с мажорной версией используемого кластера.
- Версию кластера можно выбрать в момент запуска в
spark-launch-yt
, указав её в параметре--spyt-version
. Если версия не указана, запустится последняя релизная версия. - Версия клиента в
client mode
(в Jupyter) — это установленная черезpip
версия пакетаytsaurus-spyt
. - Версию клиента в
cluster mode
можно указать при запуске командыspark-submit-yt
в параметре--spyt-version
. Если версия не указана, запустится последняя релизная версия, совместимая с кластером.