brunch

Python: PySail#01

#PySpark #PySail #SparkConnect #Intro

by 유윤식

PySpark 를 더 빠르게!


Rust Engine 으로 기존 JVM 을 제거하여 GC Overhead 로 부터 자유로워진 성능을 느낄 수 있음

메모리 효율은 당연히 따라오는 결과!


uv 환경으로 패키지를 설치

스크린샷 2025-10-21 02.10.05.png

패키지 버전 관련 내용은 아래 링크에서 정확하게 확인

https://docs.lakesail.com/sail/latest/introduction/getting-started/


스크린샷 2025-10-21 02.03.19.png

파이썬 버전도 uv 를 이용해 가상환경을 생성


스크린샷 2025-10-21 02.04.17.png


spark session 을 생성하는데

중요한건 remote 를 통해서 외부 터미널에서 실행중인 Local Sail Server 에 연결

스크린샷 2025-10-21 02.04.39.png

실제 Sail Server 는 아래와 같이 실행

스크린샷 2025-10-21 14.09.14.png


이제 정상적으로 spark session 이 생성되었고

스크린샷 2025-10-21 02.11.21.png


간단하게 S3 에 parquet 을 읽고 문서의 TT 를 따라가서 실제 PySpark Function API 와 동일한 함수를 경험해 보면 될 듯


스크린샷 2025-10-21 02.13.08.png


로컬의 csv, json 등의 타입을 모두 읽고 쓸 수 있음


특히,

DeltaLake 포맷으로 save, load 할 수 있다는 부분이 인상적이었음

https://docs.lakesail.com/sail/latest/guide/formats/delta.html


다음에는,

큰 DataSet 으로 몇가지 실험을 진행해보고 프로파일링을 통해 실제 사용되는 리소스가 기존 PySpark 와 비교하여 어떤 향상이 있었는지 확인!

keyword
작가의 이전글Python: Maturin#04