피드로 돌아가기
Hugging Face BlogDatabase
원문 읽기
Hugging Face Hub이 DuckDB와 httpfs 확장으로 50,000+ 데이터셋에 직접 SQL 쿼리 실행 기능 추가
DuckDB: analyze 50,000+ datasets stored on the Hugging Face Hub
AI 요약
Context
Hugging Face Hub에 저장된 50,000개 이상의 공개 데이터셋을 분석하기 위해 사용자들은 데이터셋을 로컬에 다운로드하거나 별도 도구를 통해 전처리해야 했다. SQL이 개발자 중 3번째로 인기 있는 프로그래밍 언어임에도 불구하고, Hub의 데이터셋을 SQL로 직접 분석할 수 있는 방법이 부족했다.
Technical Solution
- 모든 공개 데이터셋을 Parquet 형식으로 자동 변환: 데이터셋 뷰어가 각 데이터셋을 Parquet 파일로 변환하고 500MB 단위로 샤딩
- /parquet HTTP 엔드포인트 제공: 단순 HTTP 호출로 Parquet 파일 URL 목록 조회 가능
- DuckDB httpfs 확장 활용: httpfs 확장을 로드하여 원격 Parquet 파일에 직접 SQL 쿼리 실행
- 클라이언트 측 쿼리 엔진: DuckDB가 로컬에서 원격 Parquet 파일을 네트워크 오버헤드 없이 분석 쿼리 실행
- 대용량 데이터셋 다중 파일 쿼리: 샤딩된 여러 Parquet 파일을 단일 SQL 쿼리로 조회 가능
Key Takeaway
Columnar 저장 형식(Parquet)과 쿼리 푸시다운 기능을 갖춘 OLAP 데이터베이스(DuckDB)를 결합하면, 클라이언트가 대규모 원격 데이터셋을 전송 없이 직접 분석할 수 있는 오픈 데이터 접근성 아키텍처를 구축할 수 있다.
실천 포인트
대규모 공개 데이터셋을 제공하는 서비스에서 모든 데이터를 Parquet 형식으로 변환 후 URL 기반 엔드포인트로 노출하고, 사용자가 DuckDB의 httpfs 확장을 이용해 SQL로 직접 쿼리하도록 구현하면 데이터 다운로드 비용과 사용자 측 처리 로직을 모두 제거할 수 있다.