我在Azure Machine Learning上使用notebook VM作为计算实例创建从CSV文件读取的简单数据帧时遇到内存错误。虚拟机在Ubuntu (Linux (ubuntu 16.04) )上配置DS 13 56gb RAM,8vcpu,112 of存储。CSV文件是5 5gb文件。
blob_service = BlockBlobService(account_name,account_key)
blobstring = blob_service.get_blob_to_text(container,filepath).content
dffinaldata = pd.read_csv(StringIO(blobstring), sep=',')
我在这里做错了什么?
发布于 2020-01-21 13:17:30
调用get_blob_to_text时需要提供正确的编码,请参考sample。
下面的代码通常用于读取blob存储中的数据文件。基本上,您可以使用blob的url和sas令牌,并使用请求方法。但是,您可能希望根据您拥有的数据类型(例如csv、jpg等)来编辑‘for loop’。
-- Python代码如下--
import requests
from azure.storage.blob import BlockBlobService, BlobPermissions
from azure.storage.blob.baseblobservice import BaseBlobService
from datetime import datetime, timedelta
account_name = '<account_name>'
account_key = '<account_key>'
container_name = '<container_name>'
blob_service=BlockBlobService(account_name,account_key)
generator = blob_service.list_blobs(container_name)
for blob in generator:
url = f"https://{account_name}.blob.core.windows.net/{container_name}"
service = BaseBlobService(account_name=account_name, account_key=account_key)
token = service.generate_blob_shared_access_signature(container_name, img_name, permission=BlobPermissions.READ, expiry=datetime.utcnow() + timedelta(hours=1),)
url_with_sas = f"{url}?{token}"
response = requests.get(url_with_sas)
请单击以下链接读取Azure Blob存储上的数据。https://docs.microsoft.com/en-us/azure/machine-learning/how-to-access-data
https://stackoverflow.com/questions/59829017
复制相似问题