facebookincubator/nimble

New and extensible file format for storage of large columnar datasets.

What it solves

Nimble 是為取代現有的 Apache Parquet 和 ORC 等格式而設計的列式文件格式,特別是針對大型數據集。它解決了當處理「寬」表(即包含數千列的表格)時,現有格式的低效率問題,這類表格在機器學習訓練表和特徵工程工作負載中非常常見。

How it works

Nimble 將串流編碼與文件的物理佈局解耦,允許進行可擴展且遞歸(級聯)的編碼。它利用 Flatbuffers 進行高效的元數據存取,並採用塊編碼而非串流編碼,以確保在讀取和解碼期間具有可預測的記憶體使用量。該系統設計上對 SIMD 和 GPU 友好,以利用高度並行的硬體。

Who it’s for

它適用於處理海量數據集的開發人員和數據工程師,特別是那些參與機器學習訓練和特徵工程、且寬表結構普遍存在的領域。

Highlights

  • Optimized for Wide Tables: Efficiently supports thousands to tens of thousands of columns.
  • Optimized for Wide Tables: 高效地支持數千到數萬列。
  • Extensible Encoding: 允許用戶添加新編碼或遞歸地應用它們。
  • Hardware Acceleration: 使用 SIMD 和 GPU 友好型編碼,設計上旨在利用高並行性。
  • Efficient Metadata: 使用 Flatbuffers 以減少存取大型元數據部分的開銷。
  • Unified Implementation: 作為單一庫提供,以防止在不同環境中發生碎片化。

Note: The user requested to preserve all Markdown formatting. I will ensure the translation of thethought process and 100% accuracy. Let's re-verify the highlights section.

Highlights

  • Optimized for Wide Tables: 高效地支持數千到數萬列。
  • Extensible Encoding: 允許用戶添加新編碼或遞歸地應用它們。
  • Hardware Acceleration: 使用 SIMD 和 GPU 友好型編碼,設計上旨在利用高並行性。
  • Efficient Metadata: 使用 Flatbuffers 以減少存取大型元數據部分的開銷。
  • Unified Implementation: 作為單一庫提供,以防止在不同環境中發生碎片化。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案