資料集檢視器文件
伺服器基礎設施
加入 Hugging Face 社群
並獲得增強的文件體驗
開始使用
伺服器基礎設施
資料集檢視器有兩個主要元件協同工作,以即時返回關於資料集的查詢結果:
- 用於探索和返回資料集資訊的面向使用者的Web API
- 一個伺服器提前執行查詢,並將它們快取在資料庫中
雖然大部分文件都集中在Web API上,但伺服器至關重要,因為它執行所有耗時的預處理並存儲結果,以便Web API可以檢索並提供給使用者。這為使用者節省了時間,因為資料集檢視器無需在每次請求時生成響應,而是可以立即從快取中返回預處理的結果。
有三個要素使伺服器保持執行:作業佇列、工作器和快取。
作業佇列
作業佇列是儲存在Mongo資料庫中的作業列表,這些作業應由工作器完成。這些作業實際上與使用者使用的端點相同;只是伺服器會提前執行這些作業,當用戶使用端點時即可獲得結果。
有三個作業:
/splits
對應於/splits
端點。它會重新整理資料集,然後返回該資料集的切分和子集。對於資料集中的每個切分,它都會建立一個新作業。/first-rows
對應於/first-rows
端點。它獲取資料集切分的前100行和列。/parquet
對應於/parquet
端點。它下載整個資料集,將其轉換為 parquet 格式,並將parquet檔案釋出到Hub。
您可能已經注意到 /rows
和 /search
端點在佇列中沒有作業。這些端點的響應是按需生成的。
工作器
工作器負責執行佇列中的作業。它們完成實際的預處理請求,例如獲取切分和子集列表。工作器可以透過可配置的環境變數進行控制,例如工作器返回的最小或最大行數,或者每個資料集使用者或組織啟動的最大作業數。
如果您有興趣瞭解更多資訊,請參閱工作器配置,以獲取完整的環境變數列表。
快取
一旦工作器完成一項作業,結果就會儲存在(即*快取*在)Mongo資料庫中。當用戶使用諸如 /first-rows
之類的端點發出請求時,資料集檢視器會從快取中檢索預處理的響應,並將其提供給使用者。這消除了使用者在伺服器尚未完成作業並存儲響應時所等待的時間。
因此,使用者幾乎可以即時獲取他們請求的關於資料集的資訊(甚至是大型資料集)!
< > 在 GitHub 上更新