簡體   English   中英

如何枚舉Data Lake Store中文件的子集?

[英]How to enumerate a subset of files in Data Lake Store?

我在Data Lake Store中存儲了大量文件-現在需要獲取最新文件。

因為我還沒有找到更好的方法,所以我目前的方法涉及列出所有文件並查看修改日期。 但是,我懷疑在處理較大的文件集時可能會引起一些問題。 API通過調用以下方法來限制它:

var statuses = _client.FileSystem.ListFileStatus(_store._dlsAccountName, "/the/path", 2);

這只會給我2個文件。 但是,它們似乎按字母順序返回。

有人知道如何:

  • 僅枚舉最新文件, 或者
  • 更改列表文件狀態返回結果的方式?

如前所述,函數ListFileStatus的結果未按修改時間排序。 我也沒有在Microsoft.Azure.Management.DataLake.Store SDK中找到列出最新文件的函數。

更改列表文件狀態返回結果的方式?

是的,因為FileStatus具有修改時間屬性,所以我們可以使用以下代碼列出最新文件。

var number = 2;
var statuses = _client.FileSystem.ListFileStatus(_store._dlsAccountName, "/the/path").FileStatuses.FileStatus.ToList().OrderByDescending(x=>x.ModificationTime).Take(number);

我在我這邊對其進行了測試,它可以正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM