ibis-project/ibis

the portable Python dataframe library

해결하는 문제

Ibis는 데이터 분석의 단편화 문제를 해결합니다. 일반적으로 Python 데이터프레임 라이브러리는 특정 실행 엔진에 묶여 있으며, 많은 데이터베이스는 SQL 인터페이스만 제공합니다. Ibis는 20개 이상의 다양한 백엔드에서 작동하는 단일하고 이식 가능한 Python API를 제공하여 특정 엔진에 얽매이지 않고 코드를 한 번 작성하면 어디서나 실행할 수 있습니다.

작동 방식

Ibis는 변환 계층 역할을 합니다. 표준 Python 데이터프레임 API를 사용하여 데이터 조작 코드를 작성하면 Ibis는 이 "지연" 표현식을 선택한 백엔드의 기본 언어로 컴파일합니다. 일반적으로 데이터베이스의 경우 SQL, Polars나 DataFusion 같은 엔진의 경우 특정 데이터프레임 연산으로 변환합니다. 이를 통해 코드 한 줄만 변경하여 로컬 개발과 원격 배포를 전환할 수 있습니다.

대상 사용자

Ibis는 현대 SQL 데이터베이스나 특수 실행 엔진의 성능과 규모를 활용하면서 데이터 조작에 Python의 유연성을 사용하려는 데이터 과학자, 분석가, 엔지니어를 위한 것입니다. 로컬 프로토타입에서 프로덕션 환경으로 이동할 때 분석 코드를 다시 작성하지 않으려는 사람에게 이상적입니다.

주요 기능

  • 이식 가능한 API: DuckDB, BigQuery, Snowflake, PostgreSQL을 포함한 20개 이상의 백엔드에서 동일한 코드를 사용합니다.
  • Python과 SQL 통합: Python 데이터프레임 표현식과 원시 SQL 쿼리를 원활하게 혼합할 수 있습니다.
  • 지연 평가: 표현식은 필요할 때만 컴파일 및 실행되어 성능을 최적화합니다.
  • 대화형 탐색: CSV 및 Parquet 같은 로컬 파일 형식에 대한 내장 지원으로 반복적인 데이터 분석용으로 설계되었습니다.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트