AzureMachineLearningFileSystem中的路径导入parquet

wwwo4jvm  于 2023-06-30  发布在  Mac
关注(0)|答案(1)|浏览(177)

我对……有意见AzureMachine学习文件系统)I use article from https://learn.microsoft.com/en-us/azure/machine-learning/how-to-access-data-interactive?view=azureml-api-2&tabs=adls And..我不知道我怎么能保存文件Parquet在位置。
我尽力了

F_AUDIT.to_parquet("azureml://subscriptions/xyz/resourcegroups/xyzz/workspaces/xyz/datastores/xyz/paths/2_FILES_PIPE/SPACE_DEF/text.parquet", 
                   engine = 'pyarrow', 
                   compression = 'gzip')

但我有个错误
消息:rslex失败,正在回退到clex。错误消息:ScriptExecutionException由StreamAccessException引起。StreamAccessException由NotFoundException引起。未找到所提供输入的资源
有哪些方法?PS.我知道我可以用

F_AUDIT.to_parquet("SPACE_DEF/text.parquet", 
                   engine = 'pyarrow', 
                   compression = 'gzip')

或上传Saving partitioned parquet on AzureML
但是我想要存储中的特定位置(特定的blob容器/数据存储,当我像上面这样保存时,文件保存在文件共享中...无Blob容器)

qnzebej0

qnzebej01#

您可以使用下面的代码将 parquet 文件上传到数据存储。
首先,获取工作区的datastore对象。

from  azureml.core  import  Workspace, Datastore
ws = Workspace.from_config()
datastore_name = 'workspaceblobstore'
datastore = Datastore.get(ws, datastore_name)

在这里,给予与blob容器链接的数据存储名称。之后,如果本地目录不存在,则创建该目录。

dir = "SPACE_DEF"
file_name="text.parquet"
file_path = os.path.join(dir,file_name)
print(file_path)
if  not  os.path.exists(dir):
    os.mkdir(dir)

下面是我的数据框。

然后,在本地写入数据并将其上传到数据存储容器。

df.to_parquet(file_path,
    engine = 'pyarrow',
    compression = 'gzip')

在本地写入数据。

上传到数据存储。

datastore.upload(src_dir=dir,target_path=dir)

容器中的输出

相关问题