시작하기 | 배포 | 문서화 및 지원 | 블로그 | 특허
Pathway는 스트림 처리, 실시간 분석, LLM 파이프라인 및 RAG를 위한 Python ETL 프레임워크입니다.
Pathway에는 사용하기 쉬운 Python API가 함께 제공되므로 즐겨 사용하는 Python ML 라이브러리를 원활하게 통합할 수 있습니다. Pathway 코드는 다양하고 강력합니다. 개발 및 생산 환경 모두에서 사용할 수 있으며 배치 및 스트리밍 데이터를 효과적으로 처리할 수 있습니다 . 로컬 개발, CI/CD 테스트, 일괄 작업 실행, 스트림 재생 처리 및 데이터 스트림 처리에 동일한 코드를 사용할 수 있습니다.
Pathway는 Differential Dataflow를 기반으로 하는 확장 가능한 Rust 엔진 으로 구동되며 증분 계산을 수행합니다. Pathway 코드는 Python으로 작성되었음에도 불구하고 Rust 엔진에 의해 실행되므로 멀티스레딩, 멀티프로세싱 및 분산 계산이 가능합니다. 모든 파이프라인은 메모리에 보관되며 Docker 및 Kubernetes를 사용하여 쉽게 배포할 수 있습니다.
pip를 사용하여 Pathway를 설치할 수 있습니다.
pip install -U pathway
질문이 있으시면 Discord에서 프로젝트를 지원하는 커뮤니티와 팀을 찾아보실 수 있습니다.
Pathway가 무엇을 할 수 있는지 알아볼 준비가 되셨나요?
실행하기 쉬운 예제 중 하나를 시도해 보세요!
노트북과 도커 형식으로 모두 제공되는 이러한 바로 실행 가능한 예제는 단 몇 번의 클릭만으로 시작할 수 있습니다. 지금 하나를 선택하고 Pathway를 직접 체험해 보세요!
일괄 처리 및 스트리밍을 위한 통합 엔진과 완전한 Python 호환성을 갖춘 Pathway는 데이터 처리를 최대한 쉽게 만듭니다. 다음을 포함한 광범위한 데이터 처리 파이프라인에 이상적인 솔루션입니다.
Pathway는 라이브 LLM 및 RAG 파이프라인을 구축하기 위한 전용 LLM 도구를 제공합니다. 가장 일반적인 LLM 서비스 및 유틸리티에 대한 래퍼가 포함되어 있어 LLM 및 RAG 파이프라인 작업이 매우 쉬워집니다. LLM xpack 문서를 확인해 보세요.
LLM 도구를 갖춘 실행 가능한 예제 중 하나를 주저하지 말고 사용해 보세요. 여기에서 그러한 예를 찾을 수 있습니다.
Pathway에는 Python 3.10 이상이 필요합니다.
pip
사용하여 Pathway의 현재 릴리스를 설치할 수 있습니다.
$ 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 ()
Google Colab에서 Pathway를 실행하세요.
여기에서 더 많은 예를 찾을 수 있습니다.
Pathway를 사용하려면 Pathway를 가져오기만 하면 됩니다.
import pathway as pw
이제 처리 파이프라인을 쉽게 생성하고 Pathway에서 업데이트를 처리하도록 할 수 있습니다. 파이프라인이 생성되면 한 줄 명령을 사용하여 스트리밍 데이터에 대한 계산을 시작할 수 있습니다.
pw . run ()
그런 다음 일반적인 Python 스크립트인 $ python main.py
처럼 Pathway 프로젝트(예: main.py
)를 실행할 수 있습니다. Pathway에는 각 커넥터에서 보낸 메시지 수와 시스템 대기 시간을 추적할 수 있는 모니터링 대시보드가 함께 제공됩니다. 대시보드에는 로그 메시지도 포함되어 있습니다.
또는 다음 경로 버전을 사용할 수 있습니다.
$ pathway spawn python main.py
Pathway는 기본적으로 멀티스레딩을 지원합니다. 3개의 스레드로 애플리케이션을 시작하려면 다음과 같이 할 수 있습니다.
$ pathway spawn --threads 3 python main.py
Pathway 프로젝트를 시작하려면 cookiecutter 템플릿을 사용할 수 있습니다.
Docker를 사용하면 Pathway를 쉽게 실행할 수 있습니다.
Dockerfile을 사용하여 Pathway Docker 이미지를 사용할 수 있습니다.
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
만드는 것이 불필요해 보일 수 있습니다. 이러한 시나리오에서는 Pathway Docker 이미지를 사용하여 Python 스크립트를 직접 실행할 수 있습니다. 예를 들어:
docker run -it --rm --name my-pathway-app -v "$PWD":/app pathwaycom/pathway:latest python my-pathway-app.py
표준 Python 이미지를 사용하고 Dockerfile과 함께 pip를 사용하여 Pathway를 설치할 수도 있습니다.
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 배포를 지원합니다.
Render와 같은 서비스를 사용하여 Pathway를 쉽게 배포할 수 있습니다. 몇 번의 클릭만으로 Pathway를 배포하는 방법을 알아보세요.
관심이 있으시면 주저하지 말고 저희에게 연락하여 자세한 내용을 알아보세요.
Pathway는 Flink, Spark 및 Kafka 스트리밍을 포함하여 스트리밍 및 일괄 데이터 처리 작업을 위해 설계된 최첨단 기술보다 성능이 뛰어납니다. 또한 다른 스트리밍 프레임워크(특히 임시 조인, 반복 그래프 알고리즘, 기계 학습 루틴)에서 쉽게 지원하지 않는 많은 알고리즘/UDF를 스트리밍 모드에서 구현할 수 있습니다.
궁금하시다면 여기 몇 가지 벤치마크를 확인해 보세요.
API 문서를 포함하여 Pathway의 전체 문서는 pathway.com/developers/에서 확인할 수 있습니다.
질문이 있는 경우 주저하지 말고 GitHub에서 문제를 공개하거나 Discord에 참여하거나 [email protected]으로 이메일을 보내주세요.
Pathway는 무제한의 비상업적 사용을 허용하는 BSL 1.1 라이선스로 배포되며 대부분의 상업적 목적으로 Pathway 패키지를 무료로 사용할 수 있습니다. 이 리포지토리의 코드는 4년 후에 자동으로 오픈 소스(Apache 2.0 라이선스)로 변환됩니다. 이를 보완하는 일부 공개 저장소(예제, 라이브러리, 커넥터 등)는 MIT 라이선스에 따라 오픈 소스로 라이선스가 부여됩니다.
이 리포지토리와 통합하려는 라이브러리 또는 커넥터를 개발하는 경우 먼저 MIT/Apache 2.0 라이선스에 따라 별도의 리포지토리로 릴리스하는 것이 좋습니다.
핵심 Pathway 기능에 관한 모든 우려 사항에 대해서는 문제를 제기하는 것이 좋습니다. 자세한 내용을 알아보려면 주저하지 말고 Pathway의 Discord 커뮤니티에 참여하세요.