Основываясь на утверждениях в этой ссылке , фактически в Hadoop вся иерархия файловой системы хранится в одном контейнере.
Вы можете настроить ключ учетной записи и имя контейнера какниже:
<property>
<name>fs.azure.account.key.youraccount.blob.core.windows.net</name>
<value>YOUR ACCESS KEY</value>
</property>
Так что вам нужно всего лишь скопировать файлы в настроенный контейнер с помощью AzCopy .
Более подробную информацию см. В этом документе .
Обновление ответа:
Iпредоставьте решение для вас:
1.Установите BlobFuse на вашей виртуальной машине, чтобы предоставить виртуальную файловую систему, поддерживаемую вашим хранилищем BLOB-объектов Azure.
2.При использовании cp команда для копирования файлов с container directly
на URL-адрес HDFS.
Кроме того, просто напишите фрагмент кода Java, чтобы получить данные из хранилища BLOB-объектов Azure для выгрузки в HDFS.
Просто для краткости, пожалуйста, используйте команду:
hadoop distcp -D fs.azure.account.key.<account name>.blob.core.windows.net=<Key> wasb://<container>@<account>.blob.core.windows.net<path to wasb file> hdfs://<hdfs path>
distcp копирует структуру каталогов рекурсивно для получения дополнительной информации.его ссылка