facebookincubator/nimble

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

解決的問題

Nimble 解決了 Apache Parquet 和 ORC 等現有欄位式格式在處理極寬數據集時的局限性。它是專門為涉及數千欄的工作負載(如特徵工程和機器學習訓練表)而設計的。

工作原理

Nimble 採用解耦設計,將串流編碼與物理佈局分離,從而實現可擴展和遞迴(級聯)編碼。它利用 Flatbuffers 進行高效的元數據存取,並採用區塊編碼以確保解碼期間可預測的記憶體使用。該格式針對 SIMD 和 GPU 進行了優化,以利用高度並行的硬體。

適用對象

適用於處理大規模寬數據集,並需要高效能、可擴展的儲存格式用於特徵工程和模型訓練的數據工程師和機器學習從業者。

亮點

  • 針對具有數千欄的表格進行了優化
  • 支援可擴展和級聯編碼
  • 使用 Flatbuffers 進行高效的元數據管理
  • 專為 SIMD 和 GPU 並行處理而設計
  • 提供統一的函式庫以防止實作碎片化