如何从Hadoop中的Azure Blob存储中读取?

时间:2015-06-16 23:31:15

标签: azure hadoop azure-storage hdinsight

我有一个map-reduce作业,reducer获取一个驻留在Azure Blob存储上的文件的绝对地址,reducer应打开它并读取其内容。我在配置我的Hadoop集群(HDInsight)时添加了包含文件的存储帐户。因此,reducer必须能够访问此Blob存储,但Blob Storage不是我作业的默认HDFS存储。我的reducer中有以下代码,但它给了我一个FileNotFound错误消息。

FileSystem fs = FileSystem.get(new Configuration());
Path pt = new Path("wasb://mycontainer@accountname..."); 
FSDataInputStream stream = fs.open(pt);

1 个答案:

答案 0 :(得分:0)

它包含在https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-use-blob-storage/#addressing

语法为wasb://mycontainer@myaccount.blob.core.windows.net/example/jars/hadoop-mapreduce-examples.jar

如果“mycontainer”是私有容器,则必须在提供过程中将“myaccount”azure存储帐户添加为附加存储帐户。