Influxdata спонсировала этот пост.
Все вокруг нас создает данные, поэтому прогнозирование будущих тенденций от исторических данных больше не является роскошью; Это необходимость. Но что, если бы вы могли реализовать сложное прогнозирование временных рядов, не написав ни одной строки кода? Я покажу вам, как с примером, используя два инструмента с открытым исходным кодом: Influxdb 3 Core, обработка Python Engine и библиотека Prophet Facebook.
Революционизация прогнозирования реализации
Традиционное прогнозирование временных рядов обычно требует обширного опыта кодирования и дней развития. Двигатель обработки Python Python InfluxDB 3 Core в сочетании с большими языковыми моделями (LLMS) и библиотеками разбивает эту парадигму. То, что когда -то потребовало глубоких технических знаний и значительных временных инвестиций, теперь может быть достигнуто в часы, что делает расширенное прогнозирование доступным для тех, у кого даже базовое понимание Python и временных рядов.
Самый убедительный аспект этой трансформации? Скорость, с которой сложные системы могут быть построены с использованием LLMS. Просто предоставив LLM с документацией InfluxDB 3 и руководством Facebook Prophet, вы можете генерировать функциональный код плагина, подключить весь трубопровод и получить предложения по оптимизации — все без ручного кодирования.
Зачем использовать базу данных временных рядов?
Прежде чем погрузиться в реализацию, давайте рассмотрим фундаментальный вопрос: зачем использовать специализированную базу данных временных рядов, такую как InfluxDB вместо общей или реляционной базы данных?
Оптимизирован для данных, нанесенных временем
Базы данных временных рядов приведены специально для обработки хронологических данных. В отличие от традиционных баз данных, они оптимизированы для запросов и аналитики на основе времени, делая такие операции, как поиск скоростей изменений, выявление тенденций или расчет перемещающих средних значений значительно более эффективными.
Превосходное сжатие данных
Данные временных рядов часто содержат миллионы или миллиарды точек данных. Базы данных временных рядов реализуют специализированные алгоритмы сжатия, которые значительно снижают требования к хранению без жертв, не жертвуя производительностью запроса.
Встроенные временные функции
Такие функции, как снижение, интерполяция и оконные функции, являются стандартными в базах данных временных рядов, что устраняет необходимость в сложном пользовательском коде. Эта нативная поддержка ускоряет развитие и повышает надежность.
Масштабируемая производительность
По мере того, как ваш мониторинг или Интернет вещей (IoT) растет, то же самое и объем данных. Базы данных временных рядов, такие как масштабная масштаба InfluxDB, для обработки огромного притока данных с пропорциональными отрывами без ухудшения производительности.
Гибкость схемы
Рабочие нагрузки временных рядов часто требуют адаптации к изменению структур измерения. Гибкая схема InfluxDB в дизайне схемы разместит развивающиеся модели данных без болезненных миграций.
Имея в виду эти преимущества, база данных временных рядов, такая как InfluxDB, становится естественным выбором для прогнозирования конвейера.
Задача прогнозирования
Цель этого учебника проста, но мощная: предсказать ежедневные просмотры страниц для статьи Википедии о Пейтоне Мэннинге на целый год. Мы начнем с исторических данных и завершим интерактивной визуализацией сюжета, все в экосистеме InfluxDB. Чтобы воспроизвести этот проект, загрузите Influxdb 3 Core или Enterprise.
Это прохождение обложки:
- Как я использовал CHATGPT-4O для построения этого трубопровода.
- Требуемая настройка и зависимости.
- Создание Essential Invuxdb 3 ресурсов.
- Приема данных, прогноз генерации и визуализация.
Архитектура трубопровода
Это решение состоит из трех специально построенных плагинов, работающих в гармонии:
Исторические данные страницы (синий) и прогнозируемые данные об просмотре страниц (зеленый), сгенерированные из этого учебника. Доступ через
От концепции до реализации с ИИ
Вместо традиционного кодирования я принял быстрый инженерный подход с Chatgpt-4O. После предоставления документации по обработке Engine и пророка «Пророк -начало» я использовал прогрессивные подсказки для естественного языка:
Этот итеративный процесс преобразовал то, что обычно будет часами кодирования в разговор о намерениях и функциональности. Испытательная команда обработки PlupuxDB, оказавшаяся бесценной для проверки, создавая плотный цикл обратной связи, который значительно ускорил разработку.
Настройка среды
Вы можете запустить этот пример локально или контейнер. Как PlupuxDB 3 Core, так и Enterprise поддерживают этот рабочий процесс, но я сосредоточится на Core (версия с открытым исходным кодом), используя Docker для простоты. Если вы ищете высокую доступность, масштабируемость и безопасность, я рекомендую вместо этого использовать Enterprise InfluxDB 3.
После загрузки репозитория сохраните файлы в свой каталог плагинов и выполните:
Docker Run —IT — -rm -name test_influx -v ~/plupuxdb3/data:/var/lib/plupuxdb3 -v/path/to/plugins/:/plugins -p 8181: 8181 quay.io/influxdb/influxdb3-core: llatestes /var/lib/influxdb3 —plugin-dir /plugin 1 docker run —IT —rm —name test_influx -v ~/influxdb3/data:/var/lib/influxdb3 -v /path/to/plugins/:/plugins -p 8181:8181 quay.io/influxdb/influxdb3-core:latest serve —node-id my_host Файл магазина-DATA-DIR /VAR /LIB /PLULUXDB3-Плугин-DIR /Плагин
Эта команда запускает временный основной контейнер InfluxDB 3 с вашими локальными каталогами, установленными для постоянства данных и доступа к плагинам, выявляя порт 8181 для локального взаимодействия.
Шаги внедрения
1. Установите зависимости
Во -первых, установите необходимые пакеты:
plupuxdb3 Установка пакета plotly plontuxdb3 Установка пакета Prophet 12 plontuxdb3 Установка пакета plotlyinfluxdb3 Установочный пакет Prophet
2. Создать базу данных
Установите специальную базу данных для прогнозируемого проекта:
Influxdb3 Создание базы данных Prophet 1 Influxdb3 Создание базы данных Пророк
3. Загрузите исторические данные
Создать и запустить плагин загрузки данных:
Influxdb3 создать триггер \-trigger-spec «запрос: load_peyton» \-plugin-filename «load_peyton_data.py» \-database prophet \ load_peyton 12345 plupuxdb3 создать триггер \— \ load_peyton
Выполните плагин:
Керл 1 завит
Успешное выполнение дисплеев:
{«Статус»: «Успех», «Rows_Written»: 2905} 1 {«Статус»: «Успех», «Rows_Written»: 2905}
4. генерировать прогнозы
Настройте плагин прогнозирования:
Influxdb3 Создать триггер \-trigger-spec «Каждый: 1m» \-plugin-filename «forecast_peyton.py» \-database prophet \ peyton_forecast 12345 plontuxdb3 создать триггер \-trigger-spec «wall: 1m» \-plugin-filenam
Хотя это настроено для мельчайших интервалов для демонстрационных целей, реализации производства обычно работают ежедневно. После успешного исполнения вы увидите:
Двигатель обработки: Прогноз Пророка на информации «Peyton_views» — Цепь [1] Начать информацию о обработке — цепочка [1] Готовая обработка 123 Обработка. [1] Начать обработку — цепь [1] выполнена обработка
Чтобы предотвратить избыточное прогнозирование, отключите триггер:
plupxudb3 Отключить триггер -пророк -датабаза Peyton_forecast 1 plupxudb3 Отключить триггер -пророк -датабазы Peyton_forecast
5. Визуализируйте результаты
Создайте плагин визуализации:
Influxdb3 Создать триггер \-trigger-spec «Запрос: plot_forecast» \-plugin-filename «plot_forecast_http.py» \-database prophet \ forecast_plot 12345 plupuxdb3 Создать триггер \—trigger-spec «refsque: woldecast» \ -plugin-filename «wold_forecast_forem. Пророк \ прогноз
Получить доступ к вашей интерактивной визуализации на
Помимо оснований: производственные соображения
Хотя этот пример демонстрирует основополагающие концепции, внедрение производства может включить:
- Предварительные модели от обнимания лица для более быстрого вывода.
- Прогнозируемый мониторинг точности для обнаружения модели дрейфа.
- Автоматизированный переподготовка, когда производительность снижается.
- Интеграция с возможностями оповещения InfluxDB 3 для обнаружения аномалий.
Эти усовершенствования создают интеллектуальные, самооптимизирующие трубопроводы временных рядов, адаптированные к конкретным потребностям бизнеса.
Ресурсы для дальнейшего исследования
Изучите эти ресурсы, чтобы углубить ваше понимание:
- Преобразование данных с новым двигателем обработки Python в Influxdb 3
- Начало работы: плагины Python и двигатель обработки
- Обработка двигателя и плагинов Python
Для ориентированных на предупреждают реализации:
- Предотвращение предупреждений штормов с помощью кеша обработки двигателя PlupuxDB 3
- Как настроить оповещения SMS/WhatsApp в реальном времени с помощью двигателя обработки InfluxDB 3
- Оповещение с помощью Influxdb 3 Core и Enterprise
InfluxData является создателем PlupuxDB, ведущей платформы временных рядов, используемой для сбора, хранения и анализа данных всех временных рядов в любом масштабе. Разработчики могут запрашивать и анализировать свои данные, отмеченные временем в режиме реального времени, чтобы открыть, интерпретировать и обмениваться новыми идеями, чтобы получить конкурентное преимущество. Узнайте больше новейших из InfluxData Trending Stories YouTube.com/ThenewStack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Anais Dotis-Georgiou-это защитник разработчика InfluxData с страстью к тому, чтобы сделать данные красивыми с использованием аналитики данных, ИИ и машинного обучения. Она берет данные, которые собирает, делает сочетание исследований, исследований и инженерии … Подробнее от Anais Dotis Georgiouou