6 python stream prefetch google-cloud-platform
请帮忙!
[+] 我有什么: 每个桶里都有很多斑点。Blob 的大小各不相同,从小于千字节到大量千兆字节。
[+] 我想做的事情: 我需要能够在这些 blob 中传输数据(比如大小为 1024 的缓冲区或类似的东西),或者在 Python 中按一定大小的块读取它们。关键是我不认为我可以只执行bucket.get_blob(),因为如果blob是TeraByte那么我将无法将它保存在物理内存中。
[+] 我真正想做的事情: 解析 blob 内的信息以识别关键字
[+] 我读过的内容: 很多关于如何分块写入谷歌云,然后使用 compose 将其拼接在一起的文档(一点帮助都没有)
很多关于java的预取函数的文档(需要是python)
谷歌云API
如果有人能指出我正确的方向,我将非常感激!谢谢
小智 4
因此,我发现这样做的一种方法是在 python 中创建一个类文件对象,然后使用 Google-Cloud API 调用 .download_to_file() 来处理该类文件对象。
这本质上是流数据。python代码看起来像这样
def getStream(blob):
stream = open('myStream','wb', os.O_NONBLOCK)
streaming = blob.download_to_file(stream)
Run Code Online (Sandbox Code Playgroud)
os.O_NONBLOCK 标志使我可以在写入文件时进行读取。我还没有用真正的大文件测试过这个,所以如果有人知道更好的实现或者看到这个潜在的失败,请发表评论。谢谢!
| 归档时间: |
|
| 查看次数: |
3036 次 |
| 最近记录: |