Pulse 게시 ·

Polars 2.0, 스트리밍 실행·디스크 임시 저장 기본 적용

Polars가 10월 6일 2.0을 출시했다. LazyFrame의 collect가 스트리밍 엔진을 기본 사용하며, 지원 연산은 RAM 사용량 약 80%부터 디스크에 임시 저장한다. 기본 디스크 한도는 64GB이고 join·group_by의 디스크 저장은 아직 미지원이다. 일부 연산의 행 순서를 유지하려면 maintain_order=True를 지정해야 한다.

현재 디스크 임시 저장은 정렬·윈도 함수·다수 표현식에서 지원하며, join과 group_by 지원은 향후 계획이다.

SQL 지원을 확대하고 조인 순서 재배치, 공통 하위 계획 제거, 동적 조건·Bloom 필터를 개선했다.

Arrow MapType을 전용 Map 자료형으로 지원해 키 조회·키 존재 확인·값 목록 접근 등을 제공한다.

collect_schema()로 데이터를 실제 처리하지 않고 자료형과 스키마 불일치를 먼저 확인할 수 있다.

개발팀의 TPC-H·TPC-DS 파생 시험은 쿼리별 5회 중 최선 시간을 사용했고, DataFusion의 시간 초과·메모리 부족 쿼리는 모든 엔진 결과에서 제외했다. 공인 TPC 결과와 비교할 수 없는 자체 시험이다.

업그레이드할 때 행 순서에 의존하는 후속 처리와 테스트를 점검해야 한다.

원문