Перенос данных из хранилища BLOB-объектов Azure в файловую систему hdfs. - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть данные в хранилище Azure, которое находится в формате паркета.Что мне нужно сделать, это перенести все эти файлы хранения в hdfs.Есть ли способ, которым я могу это сделать?

не мог найти какой-либо полезный способ сделать это,

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 февраля 2019

с помощью решения @ jay Я смог передать данные с помощью следующей команды.

команда:

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 копирует структуру каталогов рекурсивно для получения дополнительной информации прочитайте эту ссылку

0 голосов
/ 04 февраля 2019

Основываясь на утверждениях в этой ссылке , фактически в Hadoop вся иерархия файловой системы хранится в одном контейнере.

Вы можете настроить ключ учетной записи и имя контейнера какниже:

<property>
  <name>fs.azure.account.key.youraccount.blob.core.windows.net</name>
  <value>YOUR ACCESS KEY</value>
</property>

enter image description here

Так что вам нужно всего лишь скопировать файлы в настроенный контейнер с помощью 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 копирует структуру каталогов рекурсивно для получения дополнительной информации.его ссылка

...