Оглавление

Amazon SageMaker Studio теперь поддерживает разработку на языке Scala благодаря интеграции с Almond kernel — Jupyter-ядром для Scala, написанным на Scala.js. Эта интеграция открывает новые возможности для специалистов по машинному обучению и обработке данных, работающих в экосистеме JVM.

Что такое Almond kernel

Almond представляет собой реализацию протокола Jupyter на Scala.js, что позволяет выполнять Scala-код непосредственно в браузере. Ядро поддерживает множество популярных библиотек для работы с данными, включая:

  • Apache Spark для распределенной обработки данных
  • Breeze для численных вычислений
  • Vegas для визуализации данных
  • Ammonite для улучшенного REPL-опыта

Процесс установки

Установка Almond kernel в SageMaker Studio состоит из нескольких этапов:

  1. Создание Jupyter-конфигурации с помощью coursier
  2. Установка Almond kernel через coursier CLI
  3. Настройка ядра в SageMaker Studio
  4. Создание нового notebook с выбранным ядром

Процесс требует установки coursier — инструмента управления зависимостями для Scala, который автоматически загружает и настраивает необходимые компоненты.

Преимущества для разработчиков

Интеграция Almond kernel с SageMaker Studio предоставляет несколько ключевых преимуществ:

  • Единая среда разработки — возможность работать с Scala в привычной среде SageMaker Studio
  • Доступ к AWS-сервисам — интеграция с другими сервисами AWS через Scala SDK
  • Интерактивная разработка — поддержка интерактивной работы с данными через Jupyter notebook
  • Библиотеки машинного обучения — доступ к богатой экосистеме ML-библиотек для Scala

Интеграция Scala в SageMaker Studio — это не просто техническое улучшение, а стратегический шаг Amazon по расширению аудитории платформы. После доминирования Python в ML-сообществе, AWS явно пытается привлечь разработчиков из мира JVM, которые десятилетиями строили масштабируемые системы. Вопрос в том, найдет ли Scala свою нишу в ML-разработке или останется нишевым инструментом для тех, кто не хочет покидать комфортную экосистему JVM.

Пример использования

После установки разработчики могут создавать рабочие пространства с поддержкой Scala и использовать все преимущества SageMaker Studio:

  • Интерактивное выполнение кода с немедленным отображением результатов
  • Визуализация данных с помощью библиотек типа Vegas
  • Работа с распределенными вычислениями через Spark
  • Интеграция с AWS-сервисами через официальные SDK

Перспективы развития

Поддержка Scala в SageMaker Studio открывает новые возможности для:

  • Миграции legacy-систем — компаний, имеющих существующую инфраструктуру на Scala
  • Высокопроизводительных вычислений — задач, требующих производительности JVM
  • Распределенной обработки данных — использования Spark для больших данных
  • Функционального программирования — разработчиков, предпочитающих функциональный подход

По сообщению AWS Machine Learning Blog, эта интеграция особенно важна для организаций, уже использующих Scala в своих ML-пайплайнах и желающих объединить разработку в единой среде.