有没有一种方法可以从azure blob存储中获取部分数据帧



所以我在Azure blob存储中有很多数据。每个用户都可以上传一些案例,最终结果可以表示为一系列panda数据帧。现在我想能够在我们的网站上显示一些数据,但文件有几百MB,没有必要下载所有数据。什么是获得部分df的最佳方式?

我可以在每个blob存储中创建一个文件夹结构,其中包含每个df中的不同列,也许还可以对列进行更紧凑的汇总,但如果可能的话,我希望将其保存在一个文件中。

我也可以建立一个包含信息的数据库,但我喜欢它的结构——在某些情况下完全分离。

起初我认为我可以在hdf5中完成这项工作,但似乎我需要将整个文件从blob存储下载到我的API后端,然后才能在上面运行我的python代码。我更希望我可以保留hdf5文件,并直接从blob存储中获取列的部分,但据我所知,这是不可能的。

我认为这是一个以前已经解决了一百万次的问题,但它有点超出了我的领域,所以我一直无法找到一个好的解决方案。

查看Azure Python SDK的BlobClient。download_blob方法可能适合您的需要。使用chunks()获得一个迭代器,该迭代器允许您以块的形式对文件进行迭代。您还可以设置其他参数,以确保区块不会超过设置的大小。

最新更新