【发布时间】:2022-01-15 04:42:44
【问题描述】:
我对其他方法持开放态度。这是我的限制:
- 我在 Azure Blob 存储的容器中有 parquet 文件
- 这些 parquet 文件将按产品 ID 以及日期(年/月/日)进行分区
- 我在 R 中执行此操作,并且希望能够以交互方式连接(不只是在 databricks 中设置一个笔记本,尽管这可能是我以后想弄清楚的)
这是我能做的:
- 我了解如何使用
arrow::open_dataset()连接到本地parquet 目录:ds <- arrow::open_dataset(filepath, partitioning = "product") - 我可以使用
AzureStor包从我的blob 容器连接、查看和下载。我可以通过这种方式下载单个 parquet 文件并将其转换为数据框:
blob <- AzureStor::storage_endpoint("{URL}", key="{KEY}")
cont <- AzureStor::storage_container(blob, "{CONTAINER-NAME}")
parq <- AzureStor::storage_download(cont, src = "{FILE-PATH}", dest = NULL)
df <- arrow::read_parquet(parq)
我无法弄清楚的是如何使用arrow::open_dataset() 来引用{FILE-PATH} 的父目录,其中我拥有所有镶木地板文件,使用与我正在创建的容器的连接AzureStor。 arrow::open_dataset() 只接受一个字符向量作为“源”参数。如果我只是给它带有路径的 URL,我不会传递任何类型的凭据来访问容器。
【问题讨论】:
标签: r azure-blob-storage azure-storage parquet apache-arrow