Рубрики
Без рубрики

Плагины апамы для Python

Интеграция с численными третьим лицами, аппаратной поддержкой, машинным обучением и более апамом … Помечено с апамой, питоном.

Язык программирования, специфичный домен Apama, EPL, имеет возможность добавлять точки расширения, написанные в C ++ и Java®. Выпуск 10.3 также добавляет захватывающий новый вариант, написание их в Python®. Эта статья будет изучать некоторые из новых функций, которые сейчас доступны.

Python использует случаи

Предоставляя доступом к Python непосредственно из внутри EPL, потоковые приложения, работающие на APAME, могут использовать существующую аналитику, написанную в Python. Вы также можете иметь источники и раковины для событий использовать существующие библиотеки Python Access.

Аппаратные библиотеки доступа Многие системы предоставляют библиотеки для доступа к аппаратным интерфейсам в Python. Хорошим примером этого является компонент Sease Hat для Raspberry Pi. Это было проверено с апамой, и можно с очень простым плагиром для чтения датчиков данных из устройств Raspberry Pi и команд выпуска обратно к устройствам, подключенным к PI. Apama предоставляет издание сообщества коррелятора, созданного для запуска на Raspberry Pi, которую можно использовать для проверки этой функциональности. Эта модель может быть использована для обеспечения краевой аналитики на небольших, на основе ARM, устройствах.

Числовые и научные библиотеки Python предоставляет богатую экосистему библиотек, таких как Numpi и Scipi, которые имеют широкое использование в научном сообществе для анализа данных. Эти статические инструменты анализа данных могут быть преобразованы в потоковые приложения в реальном времени с помощью плагина Apama для Python.

Машинное обучение и Zementis для Nyoka Самые захватывающие события в последнее время были в пространстве машинного обучения и искусственного интеллекта (AI). Это еще одна область, которая сильно инвестирована в интеграцию Python с такими платформами, как Tensorflow и Sklearn. Программное обеспечение AG предоставляет два этапа интеграции с каркасами Python ML. Другая статья в этом издании представила Zementis для Nyoka, обеспечивает интеграцию между множеством моделей машиностроения Python и стандартным, портативным языком моделирования, Прогнозная модель разметки модели (PMML). Это может быть затем использоваться с Плагин апамы Zementis для привода аналитики в развертывании потоковой аналитики. Интеграция Apama-Python позволяет вам делать быстрые прототипы и разработки, предоставляя вам доступ к вашим моделям непосредственно из EPL, включая те, которые не являются непосредственно представлены в PMML.

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

Написание плагинов EPL в Python

Полная установка APAMA поставляется с установкой Python 3.6.6 и Apama-специфичных библиотек для Python для интеграции с апамой.

Когда вы пишете Python Python EPL, вам нужно предоставить объект Python, который наследует от apama.eplplugin. Eplpluginbase Класс и имеет методы, украшенные apama.eplplugin. Декоратор потери . Эти методы будут автоматически быть доступными для вызова из любого объекта EPL, который импортирует плагин. Простой плагин Python может выглядеть:

**from** apama.eplplugin **import** EPLPluginBase, EPLAction **class** Plugin(EPLPluginBase): **def** \_init\_(self, init): super(Plugin, self).\_init\_(init) @EPLAction("action\<\> returns string") **def** getString(): **return** "Hello World"

Это определяет плагин с одним действием, который не требует аргументов и возвращает строку.

Чтобы сделать его доступным для EPL, вы должны добавить его в файл конфигурации:

eplPlugins: pluginName: pythonFile: ${PARENT\_DIR}/plugin.py class: Plugin

Наконец, вы можете затем импортировать и вызвать его из EPL:

**monitor** Test { **import** "pluginName" as plugin; **action** onload() { **log** plugin.getString() at INFO; } }

Взаимодействие с Python

Интерфейс Python Plugin-In поддерживает прохождение полного диапазона типов EPL в Python, автоматически преобразуя их в соответствующие типы Python. Даже сложные вложенные типы и типы событий могут быть переданы между EPL и Python.

Произвольные типы Python, которые неизвестны EPL, могут быть сохранены в типе EPL «Chunk», позволяя создавать созданные объекты Python, хранящиеся с сроком службы EPL-объектов, а затем передавались в Python с более поздним типом, чтобы кэшировать ссылки на большие Объекты, которые не могут быть точно представлены в EPL.

Любая юридическая подпись EPL Action может быть объявлена в декораторе для функции Python. Он должен быть функцией элементов на объекте, который может принимать и возвращать совместимые типы и цифры для объявленных аргументов. Один экземпляр объекта создается, когда плагин сначала импортируется в коррелятор, и все вызовы на этих методах от любого объекта в EPL будут вызываться на том же экземпляре Singleton.

Установка сторонних библиотек

Apama поставляется с полной установкой Python 3.6.6, включая инструмент установки пакета PIP3. У вас есть два варианта использования сторонних библиотек, таких как описанные, с вашими плагинами. С помощью командной строки APAMA вы можете запустить PIP3 Установить listanceName, чтобы установить библиотеку в свою установку APAMA. Это нужно будет сделано для каждой машины, где вы развертываете апаму.

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

eplPlugins: pluginName: pythonFile: ${PARENT\_DIR}/plugin.py pythonPath: - ${PARENT\_DIR}/python-venv class: Plugin

Резюме

Интеграция апамы с Python, наряду с Zementis для Nyoka, обеспечивает тесную интеграцию с существующими приложениями и библиотеками, написанными в Python из библиотек по управлению аппаратным обеспечением, к числовым библиотекам, к участию в AI и Machine и Machine. Это дает захватывающие новые варианты для будущего аналитики в реальном времени.

Чтобы узнать больше, проверьте программное обеспечение AG Apama Documentation и образцы плагинов Python доступны в вашей установке APAME.

Оригинал: “https://dev.to/techcommunity/apama-plug-ins-for-python-302l”