Nano Hash - криптовалюты, майнинг, программирование

Как Spark взаимодействует с Redshift?

Я использую Spark уже пару лет, и моя новая команда использует Redshift. Я успешно связал кластеры Spark / Redhshift и могу успешно выполнять запросы Redshift через Spark и выгружать их в S3.

Если я правильно понимаю, когда я генерирую фрейм данных в искровом красном смещении, реальная тяжелая работа выполняется самим Redshift, а не Spark. Я выполнял одни и те же запросы на обеих платформах, а запрос в Spark занимает примерно вдвое больше. Поскольку сам запрос решается Redshift в обоих случаях, я считаю, что дополнительное время - это сетевой ввод-вывод от красного смещения до кластеров Spark.

Spark (pyspark) на самом деле действует как сборщик результатов запросов в форме удобного фрейма данных, который я затем могу использовать для распараллеливания методов машинного обучения с его библиотеками.

Насколько точно это изображение?


РЕДАКТИРОВАТЬ: Я провел быстрый тест: локально запустил Spark (машина 16 Гб) и выполнил запрос с красным смещением примерно для 750 миллионов записей, которые вернули небольшой фрейм данных 7x2 (по одному на каждый день недели, с распределением в нем случаев. ). На то, чтобы результат отобразился локально в моей оболочке Spark, потребовалось около 3 секунд, а для завершения запроса в автономном Redshift требуется около 1,2 секунды. Моя машина 16 Гбайт не могла так быстро обрабатывать такой объем данных, а мониторинг ЦП / сети показывает, что во время запроса активность минимальна. Если я чего-то не понимаю, похоже, что тяжелая агрегация и другая обработка выполняется на уровне Redshift, а не на уровне Spark.


Ответы:


1

Если я правильно понимаю, когда я генерирую фрейм данных в искровом красном смещении, реальная тяжелая работа выполняется самим Redshift, а не Spark. я

Это не правильно. Spark Data Source API может делегировать небольшую часть работы (проекции и простые фильтры) внешнему источнику, но большая часть работы выполняется на самом Spark.

Весь процесс довольно уродлив:

  • Spark выполняет запрос.
  • Redshift ВЫГРУЖАЕТ результат запроса на S3.
  • Spark читает данные из S3.
09.12.2016
  • Я тоже это понимаю, но мне кажется, что упомянутый вами рабочий процесс подтверждает мое подозрение, что большая часть тяжелой работы выполняется в Redshift? Не пытаться обесценить, просто чтобы лучше понять, что происходит. 12.12.2016
  • Не совсем. Например, если запрос равен SELECT ... GROUP BY x и используются столбцы, Redshift сбрасывает всю базу данных, а все остальное будет обработано Spark. 12.12.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..