Empezando | Implementación | Documentación y Soporte | Blog | Licencia
Pathway es un marco ETL de Python para procesamiento de flujo, análisis en tiempo real, canalizaciones de LLM y RAG.
Pathway viene con una API de Python fácil de usar , que le permite integrar sin problemas sus bibliotecas Python ML favoritas. El código Pathway es versátil y robusto: puede usarlo tanto en entornos de desarrollo como de producción, manejando datos por lotes y de transmisión de manera efectiva . El mismo código se puede utilizar para desarrollo local, pruebas de CI/CD, ejecución de trabajos por lotes, manejo de repeticiones de secuencias y procesamiento de secuencias de datos.
Pathway funciona con un motor Rust escalable basado en flujo de datos diferencial y realiza cálculos incrementales. Su código Pathway, a pesar de estar escrito en Python, se ejecuta mediante el motor Rust, lo que permite cálculos distribuidos y multiproceso. Todo el proceso se guarda en la memoria y se puede implementar fácilmente con Docker y Kubernetes .
Puedes instalar Pathway con pip:
pip install -U pathway
Para cualquier pregunta, encontrarás a la comunidad y al equipo detrás del proyecto en Discord.
¿Listo para ver lo que Pathway puede hacer?
¡Pruebe uno de nuestros ejemplos fáciles de ejecutar!
Disponibles en formato portátil y acoplable, estos ejemplos listos para ejecutarse se pueden iniciar con solo unos pocos clics. ¡Elija uno y comience su experiencia práctica con Pathway hoy!
Con su motor unificado para lotes y streaming y su total compatibilidad con Python, Pathway hace que el procesamiento de datos sea lo más sencillo posible. Es la solución ideal para una amplia gama de procesos de procesamiento de datos, que incluyen:
Pathway proporciona herramientas LLM dedicadas para crear procesos LLM y RAG en vivo. Se incluyen contenedores para los servicios y utilidades de LLM más comunes, lo que hace que trabajar con procesos de LLM y RAG sea increíblemente fácil. Consulte nuestra documentación de LLM xpack.
No dude en probar uno de nuestros ejemplos ejecutables con herramientas LLM. Puede encontrar ejemplos de este tipo aquí.
Pathway requiere Python 3.10 o superior.
Puede instalar la versión actual de Pathway usando 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 ()
Ejecute Pathway en Google Colab.
Puedes encontrar más ejemplos aquí.
Para usar Pathway, solo necesitas importarlo:
import pathway as pw
Ahora puede crear fácilmente su canal de procesamiento y dejar que Pathway se encargue de las actualizaciones. Una vez creada su canalización, puede iniciar el cálculo de la transmisión de datos con un comando de una línea:
pw . run ()
Luego puede ejecutar su proyecto Pathway (por ejemplo, main.py
) como un script de Python normal: $ python main.py
Pathway viene con un panel de monitoreo que le permite realizar un seguimiento de la cantidad de mensajes enviados por cada conector y la latencia del sistema. El panel también incluye mensajes de registro.
Alternativamente, puedes usar la versión de Pathway:
$ pathway spawn python main.py
Pathway admite de forma nativa subprocesos múltiples. Para iniciar su aplicación con 3 subprocesos, puede hacer lo siguiente:
$ pathway spawn --threads 3 python main.py
Para impulsar un proyecto Pathway, puede utilizar nuestra plantilla de cortador de galletas.
Puedes ejecutar Pathway fácilmente usando la ventana acoplable.
Puedes usar la imagen de la ventana acoplable Pathway, usando un 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" ]
Luego puede compilar y ejecutar la imagen de Docker:
docker build -t my-pathway-app .
docker run -it --rm --name my-pathway-app my-pathway-app
Cuando se trata de proyectos de un solo archivo, crear un Dockerfile
completo puede parecer innecesario. En tales escenarios, puede ejecutar un script de Python directamente utilizando la imagen de Pathway Docker. Por ejemplo:
docker run -it --rm --name my-pathway-app -v "$PWD":/app pathwaycom/pathway:latest python my-pathway-app.py
También puedes usar una imagen estándar de Python e instalar Pathway usando pip con un 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" ]
Los contenedores Docker son ideales para la implementación en la nube con Kubernetes. Si desea ampliar su aplicación Pathway, es posible que le interese nuestro Pathway for Enterprise. Pathway for Enterprise está especialmente diseñado para el procesamiento de datos de un extremo a otro y análisis inteligentes en tiempo real. Se escala mediante computación distribuida en la nube y admite la implementación distribuida de Kubernetes, con configuración de persistencia externa.
Puede implementar Pathway fácilmente utilizando servicios como Render: vea cómo implementar Pathway con unos pocos clics.
Si está interesado, no dude en contactarnos para obtener más información.
Pathway está diseñado para superar las tecnologías de última generación diseñadas para tareas de transmisión y procesamiento de datos por lotes, incluidas: Flink, Spark y Kafka Streaming. También hace posible implementar una gran cantidad de algoritmos/UDF en modo de transmisión que no son fácilmente compatibles con otros marcos de transmisión (especialmente: uniones temporales, algoritmos de gráficos iterativos, rutinas de aprendizaje automático).
Si tienes curiosidad, aquí tienes algunos puntos de referencia con los que puedes jugar.
La documentación completa de Pathway está disponible en path.com/developers/, incluidos los documentos API.
Si tiene alguna pregunta, no dude en abrir un número en GitHub, unirse a nosotros en Discord o enviarnos un correo electrónico a [email protected].
Pathway se distribuye con una licencia BSL 1.1 que permite un uso no comercial ilimitado, así como el uso del paquete Pathway para la mayoría de los fines comerciales, de forma gratuita. El código de este repositorio se convierte automáticamente a código abierto (licencia Apache 2.0) después de 4 años. Algunos repos públicos complementarios a éste (ejemplos, bibliotecas, conectores, etc.) están licenciados como Open Source, bajo la licencia MIT.
Si desarrolla una biblioteca o conector que le gustaría integrar con este repositorio, le sugerimos publicarlo primero como un repositorio separado con una licencia MIT/Apache 2.0.
Para todas las inquietudes relacionadas con las funcionalidades principales de Pathway, se recomiendan las ediciones. Para obtener más información, no dude en interactuar con la comunidad Discord de Pathway.