MainThread:Vaex:打开 Azure Data Lake Parquet 文件时出错

MainThread: Vaex: Error while Opening Azure Data Lake Parquet file

我尝试使用 vaex 使用生成的 SAS URL(日期时间限制和令牌嵌入 url)在 Azure 数据湖第 2 代存储上打开镶木地板:

vaex.open(sas_url)

我得到了错误

ERROR:MainThread:vaex:error opening 'the path which was also the sas_url(can't post it for security reasons)' ValueError: Do not know how to open (can't publicize the sas url) , no handler for https is known

如何让 vaex 读取文件,或者是否有其他 Azure 存储可以更好地与 vaex 配合使用?

Vaex 无法使用 https 源读取数据,这就是您收到错误消息的原因 “没有已知的 https 处理程序”

此外,根据 document,vaex 支持从 Amazon S3 存储桶和 Google 云存储输入数据。

Cloud support:

Amazon Web Services S3

Google Cloud Storage

Other cloud storage options

他们提到也支持其他云存储,但没有任何支持文档,其中包含他们从 Azure 存储帐户获取数据的任何示例,该帐户也使用 SAS URL。

另请访问 API document for vaex library 了解更多信息。

终于找到解决办法了! Vaex 可以读取 Azure blob 存储中的文件:

import vaex
import adlfs

storage_account = "..."
account_key = "..."
container = "..."
object_path = "..."

fs = adlfs.AzureBlobFileSystem(account_name=storage_account, account_key=account_key)
df = vaex.open(f"abfs://{container}/{object_path}", fs=fs)

有关更多详细信息,我在 https://github.com/vaexio/vaex/issues/1272

中找到了解决方案