如何解决如何使用 Python 快速下载 Tar 文件、解压并将内容上传到 Azure 块存储?
我有以下在 Jupyter Notebook 中运行的 Python 代码。它从源位置下载一个 tar
文件,将其解压缩并上传到 Azure Blob 存储。
import os
import tarfile
from azure.storage.blob import BlobClient
def upload_folder(local_path):
connection_string = "XXX"
container_name = "mycontainername"
with tarfile.open(local_path,"r") as file:
for each in file.getnames():
print(each)
file.extract(each)
blob = BlobClient.from_connection_string(connection_string,container_name=container_name,blob_name=each)
with open(each,"rb") as f:
blob.upload_blob(f,overwrite=True)
os.remove(each)
# MAIN
!wget https://path/to/myarchive.tar.gz
local_path = "myarchive.tar.gz"
upload_folder(local_path)
!rm -rf myarchive.tar.gz
!rm -rf myarchive
myarchive.tar.gz
占用 1Gb,相当于大约 4Gb 的未压缩数据。
问题是即使对于如此相对较小的数据量,运行此代码也需要很长时间。大约需要 5-6 个小时。
我做错了什么?有什么方法可以优化我的代码以更快地运行它吗?
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。