从蔚蓝的Blob存储数据传输到HDFS文件系统

问题描述 投票:1回答:2

我在Azure存储BLOB这是实木复合地板格式的数据。我需要做的是所有这些存储的文件传输到HDFS。有没有什么办法可以做到这一点?

找不到任何有用的方法来做到这一点,

谢谢。

azure azure-storage azure-storage-blobs
2个回答
0
投票

使用@周杰伦的解决方案我能使用下面的命令来传输数据。

命令:

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使用拷贝目录结构递归以获得更多信息阅读本link


0
投票

基于本link的声明,实际上,在Hadoop中,整个文件系统分层结构存储在一个容器中。

你可以如下配置您的帐户键和容器名称:

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

enter image description here

因此,只有你需要做的只是将文件复制到与AzCopy配置的容器。

更多详细信息,请参阅该document


更新答案:

我在这里提供一个解决方案为您提供:

在VM 1.InstallBlobFuse以提供你Azure的Blob存储容器支持的虚拟文件系统。

2.然后使用cp命令从container directly到HDFS URL复制文件。

此外,只写Java代码片断抓住从蔚蓝的Blob存储数据转储到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使用拷贝目录结构递归以获得更多信息阅读本link

© www.soinside.com 2019 - 2024. All rights reserved.