使用C#从存储在天蓝色Blob存储中的200gb文本文件中读取一行

甲胺苯胺

我在azure blob存储上有200 GB的文本文件。我想在文本中搜索,然后需要下载匹配行而不是整个200 GB文件,然后选择该行。

我已经用c#编写了代码,方法是下载完整的文件,然后进行搜索和选择,但是这花费了太多时间,然后由于超时错误而失败。

var content ="" ////Downloading whole text from azure blob storage
 StringReader strReader = new StringReader(contents);
 var searchedLines1 = contents.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).
            Select((text, index) => new { text, lineNumber = index + 1 })
                       .Where(x => x.text.Contains("[email protected]") || x.lineNumber == 1);
00110001

您将需要流式传输文件并设置超时。我已经包装了IAsyncEnumerable完全不需要的流实现...但是为什么不这样做

给定

public static async IAsyncEnumerable<string> Read(StreamReader stream)
{
   while(!stream.EndOfStream)
      yield return await stream.ReadLineAsync();
}

用法

var blobClient = new BlobClient( ... , new BlobClientOptions()
{
   Transport = new HttpClientTransport(new HttpClient {Timeout = Timeout.InfiniteTimeSpan}),
   Retry = {NetworkTimeout = Timeout.InfiniteTimeSpan}
});

await using var stream = await blobClient.OpenReadAsync();
using var reader = new StreamReader(stream);

await foreach (var line in Read(reader))
   if (line.Contains("bob"))
   {
      Console.WriteLine("Yehaa");
      // exit or what ever
   }

免责声明:完全未经测试

注意:如果您使用的是C#4,则需要删除所有的awaits和async方法,而只需使用for循环stream.ReadLine

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用天蓝色函数在天蓝色斑点存储中编辑* .csv文件?

来自分类Dev

读取一行存储的字典文本文件

来自分类Dev

读取一行存储的字典文本文件

来自分类Dev

使用C#读取静态存储在文本文件中的mulitiline JSON格式的数据

来自分类Dev

在SSIS中打开文本文件,并将第一行存储在变量中

来自分类Dev

如何读取在C#中不断更新的文本文件中输入的最后一行

来自分类Dev

在C中读取文本文件中的每一行

来自分类Dev

使用char指针将文本文件中的一行一行的内容存储到char数组中

来自分类Dev

从天蓝色数据湖中读取镶木地板文件数据到存储在SharePoint Online中的Excel

来自分类Dev

如何从C#文本文件中的一行中获取10行以下

来自分类Dev

逐行读取文本文件(带有整数),并将每一行存储为向量(C ++)

来自分类Dev

在C中读取文本文件,跳过第一行

来自分类Dev

如何使用Delphi读取文本文件中的最后一行

来自分类Dev

如何使用一行代码在Swift 2.0中读取文本文件

来自分类Dev

如何从文本文件中读取和存储数据,其中第一行是标题,其他行是相关数据

来自分类Dev

将文本文件中的每一行放入数组C#中

来自分类Dev

Python中读取天蓝色容器和blob的问题

来自分类Dev

在scala中读取文本文件,一行接一行,未迭代

来自分类Dev

从天蓝色Blob读取并行文件中的多个文件

来自分类Dev

将文本文件的每一行存储到一个数组中并删除\n

来自分类Dev

C#从文本文件中分离一行中的数据

来自分类Dev

如何在c#中从一行删除到文本文件的末尾?

来自分类Dev

模拟单元测试中的天蓝色斑点存储

来自分类Dev

跨天蓝色存储中多个容器的Imageresizer

来自分类Dev

读取存储在文本文件中的列表

来自分类Dev

天蓝色Blob存储和天蓝色Data Lake存储之间的区别

来自分类Dev

从文本文件中读取行并将其存储在多维数组php中

来自分类Dev

c ++如何从文本文件中将一行分成两行,然后分别存储到两个不同的数组中?

来自分类Dev

Python在> 20GB的文本文件中替换一行

Related 相关文章

  1. 1

    如何使用天蓝色函数在天蓝色斑点存储中编辑* .csv文件?

  2. 2

    读取一行存储的字典文本文件

  3. 3

    读取一行存储的字典文本文件

  4. 4

    使用C#读取静态存储在文本文件中的mulitiline JSON格式的数据

  5. 5

    在SSIS中打开文本文件,并将第一行存储在变量中

  6. 6

    如何读取在C#中不断更新的文本文件中输入的最后一行

  7. 7

    在C中读取文本文件中的每一行

  8. 8

    使用char指针将文本文件中的一行一行的内容存储到char数组中

  9. 9

    从天蓝色数据湖中读取镶木地板文件数据到存储在SharePoint Online中的Excel

  10. 10

    如何从C#文本文件中的一行中获取10行以下

  11. 11

    逐行读取文本文件(带有整数),并将每一行存储为向量(C ++)

  12. 12

    在C中读取文本文件,跳过第一行

  13. 13

    如何使用Delphi读取文本文件中的最后一行

  14. 14

    如何使用一行代码在Swift 2.0中读取文本文件

  15. 15

    如何从文本文件中读取和存储数据,其中第一行是标题,其他行是相关数据

  16. 16

    将文本文件中的每一行放入数组C#中

  17. 17

    Python中读取天蓝色容器和blob的问题

  18. 18

    在scala中读取文本文件,一行接一行,未迭代

  19. 19

    从天蓝色Blob读取并行文件中的多个文件

  20. 20

    将文本文件的每一行存储到一个数组中并删除\n

  21. 21

    C#从文本文件中分离一行中的数据

  22. 22

    如何在c#中从一行删除到文本文件的末尾?

  23. 23

    模拟单元测试中的天蓝色斑点存储

  24. 24

    跨天蓝色存储中多个容器的Imageresizer

  25. 25

    读取存储在文本文件中的列表

  26. 26

    天蓝色Blob存储和天蓝色Data Lake存储之间的区别

  27. 27

    从文本文件中读取行并将其存储在多维数组php中

  28. 28

    c ++如何从文本文件中将一行分成两行,然后分别存储到两个不同的数组中?

  29. 29

    Python在> 20GB的文本文件中替换一行

热门标签

归档