azure blob 上传 parquet 文件(文件文件夹)

Posted

技术标签:

【中文标题】azure blob 上传 parquet 文件(文件文件夹)【英文标题】:azure blob upload parquet file (a folder of files) 【发布时间】:2019-01-20 21:38:01 【问题描述】:

如何以递归方式将文件夹上传到 Azure Blob 存储?我想上传一个镶木地板文件:

abcd.parquet
├── _SUCCESS
├── myPart=20180101
│   └── part-00179-660f71d6-ed44-41c7-acf0-008724dd923a.c000.gz.parquet
├── myPart=20180102
   └── part-00022-660f71d6-ed44-41c7-acf0-008724dd923a.c000.gz.parquet

以下内容:

az storage blob upload -f abcd.parquet -c my_container -n abcd

失败:Is a directory

使用 AZCopy https://stephanefrechette.com/upload-multiple-files-recursively-azure-blob-storage-azure-cli-2-0-macoslinux/#.W3JpGVJCSL4 https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy 在 Windows 上似乎可以进行递归上传

看起来像:类似的东西可用于 linux https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-linux 但我也想知道是否应该使用 spark 代替。

另外,是否可以将上传时的目录层次结构转换为文件名,即abcd.parquet_dt=2018..._part-....gz.parquet,以便需要更少的目录列表?

最后,在上传到 azure 后,分区仍应按预期工作。

相关: - Uploading 10,000,000 files to Azure blob storage from Linux

【问题讨论】:

【参考方案1】:

blobxfer https://github.com/Azure/blobxfer 非常适合将文件同步到 azure(递归)

【讨论】:

我不能以 exe、docker 和 pip 的形式运行 blobxfer。

以上是关于azure blob 上传 parquet 文件(文件文件夹)的主要内容,如果未能解决你的问题,请参考以下文章

在 Azure Blob 存储中编写 Parquet:“其中一个请求输入无效”

Azure Databricks - 将 Parquet 文件写入策划区域

无法使用 Azure.Storage.Blobs NuGet 包将文件上传到 Azure Blob 存储

从 SFTP 服务器将文件上传到 Azure 存储 Blob

Azure Blob 存储 - 在将新文件上传到 Blob 容器中的特定文件夹时设置警报

如何在 azure 中上传文件后获取 blob-URL