Рейтинг:0

Настройка архитектуры для анализа потоков данных временного потока из нескольких источников

флаг sl

Что было бы наилучшей практикой с точки зрения AWS для следующего:

  • Многие медицинские устройства IOT собирают данные на уровне около 256 тыс.БPS
  • Данные представляют собой данные временного ряда (матрица [Channels X Samples], могут быть миллионы образцов и десятки каналов)
  • Данные сохраняются в файлы в S3, и каждый сеанс регистрируется в базе данных с некоторыми метаданными. Пока мы используем для этого RDS.
  • Каждый набор данных составляет около 5 ГБ.
  • У нас есть доступ к наборам данных, и мы хотели бы запустить некоторый поток анализа:
    • Доступ к файлу данных
    • Шаг анализа:
      • Выполнить код (управляемый версией), который принимает файл данных и выдает результат (другой файл или JSON).
      • Зарегистрировать шаг анализа в какой-либо базе данных (какой?) и зарегистрировать результат (если создается файл, прописать его местоположение)
    • Аналогичным образом выполните еще N шагов анализа. Шаги анализа могут зависеть друг от друга, но могут быть и параллельными.
    • Результат N-го шага является конечным результатом потока анализа.

Идея состоит в том, чтобы предоставить простой способ запуска кода с данными в AWS без фактической загрузки файлов и ведения журнала того, какой анализ данных был выполнен.

Есть идеи, какие сервисы и базы данных использовать? Как передать данные? Каким был бы простой в использовании интерфейс для специалиста по данным, который, например, работает с Python?

У меня есть следующая идея:

  • Шаги анализа — это репозитории управляемого кода в CodeCommit (могут быть контейнерами).
  • Специалисты по данным определяют потоки (в формате JSON)
  • Когда специалист по данным отдает приказ, его поток выполняется
  • Поток регистрируется как запись в базе данных
  • Диспетчер потоков распределяет потоки между исполняющими агентами.
  • Агент — это механизм, который получает поток, извлекает данные и контейнеры и выполняет поток.
  • Каждый агент регистрирует каждый шаг в потоке в базе данных.

Примеры этапов анализа:

  1. Фильтрация
  2. Маркировка артефактов в данных (метки времени)
  3. Расчет статистических параметров
Рейтинг:2
флаг cn

Похоже, вы хотите использовать Elastic MapReduce для анализа — это сервис, управляемый большими данными.Вы должны иметь возможность использовать EMR Notebooks для анализа. Получение данных, вероятно, было бы лучше с чем-то вроде Kinesis. Также существует множество конкретных сервисов IoT, но это не моя область знаний.

Это довольно большой, широко открытый вопрос — по сути, вы спрашиваете «как мне создать платформу для анализа больших данных», а это сложный вопрос! Я бы посоветовал вам ознакомиться с перечисленными выше услугами и посмотреть, соответствуют ли они вашим потребностям, или попросить вашу компанию обратиться к AWS за профессиональными услугами. Это не должно стоить целое состояние!

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.