웹사이트 | API 문서 | 채팅
DataFusion은 Apache Arrow를 메모리 내 형식으로 사용하는 Rust로 작성된 확장 가능한 쿼리 엔진입니다.
이 상자는 개발자가 특정 워크로드에 맞게 맞춤화되고 기능이 풍부한 데이터베이스 및 분석 시스템을 빠르게 구축할 수 있는 라이브러리와 바이너리를 제공합니다. 예시는 사용 사례를 참조하세요. 다음 관련 하위 프로젝트는 최종 사용자를 대상으로 합니다.
DataFusion은 "즉시 사용 가능한" [SQL] 및 [ Dataframe
] API, 뛰어난 성능, CSV, Parquet, JSON 및 Avro에 대한 기본 지원, 광범위한 사용자 정의 및 훌륭한 커뮤니티를 제공합니다.
DataFusion은 전체 쿼리 플래너, 열 형식, 스트리밍, 다중 스레드, 벡터화된 실행 엔진 및 분할된 데이터 소스를 갖추고 있습니다. 추가 데이터 소스, 쿼리 언어, 함수, 사용자 지정 연산자 등을 포함한 거의 모든 지점에서 DataFusion을 사용자 지정할 수 있습니다. 자세한 내용은 아키텍처 섹션을 참조하세요.
다음은 몇 가지 중요한 정보에 대한 링크입니다.
DataFusion은 도메인별 쿼리 엔진, 새로운 데이터베이스 플랫폼 및 데이터 파이프라인, 쿼리 언어 등과 같은 프로젝트를 구축하는 데 적합합니다. 완전히 작동하는 엔진에서 빠르게 시작한 다음 용도에 맞게 해당 기능을 사용자 정의할 수 있습니다. 알려진 사용자 목록을 보려면 여기를 클릭하세요.
자세한 내용은 기여자 가이드 및 커뮤니케이션 페이지를 참조하세요.
이 상자에는 Cargo.toml
에 지정할 수 있는 여러 기능이 있습니다.
기본 기능:
nested_expressions
: array_to_string
과 같은 중첩 유형 함수 작업을 위한 함수compression
: xz2
, bzip2
, flate2
및 zstd
로 압축된 파일 읽기crypto_expressions
: md5
및 sha256
과 같은 암호화 기능datetime_expressions
: to_timestamp
와 같은 날짜 및 시간 함수encoding_expressions
: encode
및 decode
함수parquet
: Apache Parquet 형식 읽기 지원regex_expressions
: regexp_match
와 같은 정규식 함수unicode_expressions
: character_length
와 같은 유니코드 인식 함수를 포함합니다.unparser
: LogicalPlan을 다시 SQL로 되돌리는 지원을 활성화합니다.선택적 기능:
avro
: Apache Avro 형식 읽기 지원backtrace
: 오류 메시지에 역추적 정보를 포함합니다.pyarrow
: PyArrow와 DataFusion 유형 간의 변환serde
: arrow-schema의 serde
기능을 활성화합니다. Rust 툴체인 릴리스는 Rust 버전에서 추적되며 의미 체계 버전 관리를 따릅니다. Rust 툴체인 릴리스는 1.80.0
이나 더 일반적으로는 major.minor.patch
와 같은 버전 문자열로 식별할 수 있습니다.
DataFusion은 최근 출시된 4개의 안정적인 Rust 마이너 버전과 지난 4개월 이내에 출시된 모든 버전을 지원합니다.
예를 들어, 1.78.0
, 1.79.0
, 1.80.0
, 1.80.1
및 1.81.0
릴리스의 경우 DataFusion은 1.78.0을 지원합니다. 이는 가장 최근의 1.81
마이너 버전보다 이전의 3개의 마이너 버전입니다.
참고: 현재 MSRV에 대한 Rust 핫픽스가 출시되면 MSRV는 다른 정책보다 먼저 적용 가능한 모든 핫픽스를 포함하는 특정 마이너 버전으로 업데이트됩니다.
DataFusion은 MSRV CI 확인을 사용하여 MSRV 정책을 시행합니다.
Apache DataFusion의 공개 메소드는 API 수명주기의 일부로 발전할 수 있습니다. 더 이상 사용되지 않는 메서드는 정책에 따라 단계적으로 폐지되어 API가 안정적이고 건강하게 유지됩니다.