Начало работы | Развертывание | Документация и поддержка | Блог | Лицензия
Pathway — это платформа Python ETL для потоковой обработки, аналитики в реальном времени, конвейеров LLM и RAG.
Pathway поставляется с простым в использовании Python API , позволяющим легко интегрировать ваши любимые библиотеки Python ML. Код Pathway является универсальным и надежным: его можно использовать как в средах разработки, так и в производственных средах, эффективно обрабатывая как пакетные, так и потоковые данные . Один и тот же код можно использовать для локальной разработки, тестов CI/CD, выполнения пакетных заданий, обработки повторов потоков и обработки потоков данных.
Pathway работает на масштабируемом движке Rust на основе дифференциального потока данных и выполняет инкрементные вычисления. Ваш код Pathway, несмотря на то, что он написан на Python, выполняется движком Rust, обеспечивающим многопоточность, многопроцессорность и распределенные вычисления. Весь конвейер хранится в памяти и может быть легко развернут с помощью Docker и Kubernetes .
Вы можете установить Pathway с помощью pip:
pip install -U pathway
По любым вопросам вы найдете сообщество и команду проекта на Discord.
Готовы увидеть, на что способен Pathway?
Попробуйте один из наших простых в использовании примеров!
Эти готовые к запуску примеры доступны как в формате блокнота, так и в формате Docker. Их можно запустить всего за несколько кликов. Выберите один и начните практический опыт работы с Pathway уже сегодня!
Благодаря унифицированному механизму пакетной и потоковой передачи, а также полной совместимости с Python, Pathway максимально упрощает обработку данных. Это идеальное решение для широкого спектра конвейеров обработки данных, включая:
Pathway предоставляет специальные инструменты LLM для создания действующих конвейеров LLM и RAG. Включены оболочки для большинства распространенных сервисов и утилит LLM, что делает работу с конвейерами LLM и RAG невероятно простой. Ознакомьтесь с нашей документацией LLM xpack.
Не стесняйтесь попробовать один из наших работоспособных примеров с использованием инструментов LLM. Такие примеры вы можете найти здесь.
Pathway требует Python 3.10 или выше.
Вы можете установить текущую версию Pathway с помощью pip
:
$ pip install -U pathway
import pathway as pw
# Define the schema of your data (Optional)
class InputSchema ( pw . Schema ):
value : int
# Connect to your data using connectors
input_table = pw . io . csv . read (
"./input/" ,
schema = InputSchema
)
#Define your operations on the data
filtered_table = input_table . filter ( input_table . value >= 0 )
result_table = filtered_table . reduce (
sum_value = pw . reducers . sum ( filtered_table . value )
)
# Load your results to external systems
pw . io . jsonlines . write ( result_table , "output.jsonl" )
# Run the computation
pw . run ()
Запустите Pathway в Google Colab.
Больше примеров вы можете найти здесь.
Чтобы использовать Pathway, вам нужно только импортировать его:
import pathway as pw
Теперь вы можете легко создать свой конвейер обработки и позволить Pathway обрабатывать обновления. После создания конвейера вы можете запустить вычисления потоковой передачи данных с помощью однострочной команды:
pw . run ()
Затем вы можете запустить свой проект Pathway (скажем, main.py
) так же, как обычный скрипт Python: $ python main.py
Pathway поставляется с панелью мониторинга, которая позволяет отслеживать количество сообщений, отправленных каждым соединителем, и задержку системы. Панель мониторинга также включает сообщения журнала.
В качестве альтернативы вы можете использовать версию path:
$ pathway spawn python main.py
Pathway изначально поддерживает многопоточность. Чтобы запустить приложение с тремя потоками, вы можете сделать следующее:
$ pathway spawn --threads 3 python main.py
Чтобы начать проект Pathway, вы можете использовать наш шаблон для печенья.
Вы можете легко запустить Pathway с помощью Docker.
Вы можете использовать образ докера Pathway, используя Dockerfile:
FROM pathwaycom/pathway:latest
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD [ "python" , "./your-script.py" ]
Затем вы можете собрать и запустить образ Docker:
docker build -t my-pathway-app .
docker run -it --rm --name my-pathway-app my-pathway-app
При работе с однофайловыми проектами создание полноценного Dockerfile
может показаться ненужным. В таких сценариях вы можете выполнить скрипт Python напрямую, используя образ Pathway Docker. Например:
docker run -it --rm --name my-pathway-app -v "$PWD":/app pathwaycom/pathway:latest python my-pathway-app.py
Вы также можете использовать стандартный образ Python и установить Pathway, используя pip с Dockerfile:
FROM --platform=linux/x86_64 python:3.10
RUN pip install -U pathway
COPY ./pathway-script.py pathway-script.py
CMD [ "python" , "-u" , "pathway-script.py" ]
Контейнеры Docker идеально подходят для развертывания в облаке с помощью Kubernetes. Если вы хотите масштабировать свое приложение Pathway, вас может заинтересовать наш Pathway for Enterprise. Pathway for Enterprise специально разработан для комплексной обработки данных и интеллектуальной аналитики в реальном времени. Он масштабируется с использованием распределенных вычислений в облаке и поддерживает распределенное развертывание Kubernetes с настройкой внешнего хранилища.
Вы можете легко развернуть Pathway с помощью таких сервисов, как Render: узнайте, как развернуть Pathway за несколько кликов.
Если вы заинтересованы, не стесняйтесь обращаться к нам, чтобы узнать больше.
Pathway создан для того, чтобы превосходить по производительности самые современные технологии, предназначенные для задач потоковой передачи и пакетной обработки данных, в том числе: Flink, Spark и Kafka Streaming. Это также позволяет реализовать множество алгоритмов/UDF в режиме потоковой передачи, которые не поддерживаются другими платформами потоковой передачи (особенно: временными соединениями, алгоритмами итеративных графов, процедурами машинного обучения).
Если вам интересно, вот несколько тестов, с которыми можно поиграть.
Вся документация Pathway доступна по адресу path.com/developers/, включая документацию API.
Если у вас есть какие-либо вопросы, не стесняйтесь открывать вопрос на GitHub, присоединяйтесь к нам в Discord или отправьте нам электронное письмо по адресу [email protected].
Pathway распространяется по лицензии BSL 1.1, которая позволяет неограниченное некоммерческое использование, а также бесплатное использование пакета Pathway для большинства коммерческих целей. Код в этом репозитории автоматически преобразуется в открытый исходный код (лицензия Apache 2.0) через 4 года. Некоторые общедоступные репозитории, дополняющие этот (примеры, библиотеки, соединители и т. д.), лицензируются как с открытым исходным кодом по лицензии MIT.
Если вы разрабатываете библиотеку или соединитель, который хотите интегрировать с этим репозиторием, мы предлагаем сначала выпустить ее как отдельный репозиторий по лицензии MIT/Apache 2.0.
По всем вопросам, касающимся основных функций Pathway, поощряются проблемы. Для получения дополнительной информации обращайтесь в сообщество Pathway Discord.