有关什么是ABFS[S]和WASB[S]的定义是可以找到的。但是没有明确的分界线可以说明何时使用哪个。那么这两者最合适和最恰当的使用情况是什么呢?
有关什么是ABFS[S]和WASB[S]的定义是可以找到的。但是没有明确的分界线可以说明何时使用哪个。那么这两者最合适和最恰当的使用情况是什么呢?
1)使用HTTP进行Blob存储
Azure引入了Blob存储,它是一种具有扁平结构的对象存储。没有文件夹或层次结构的概念。虽然在文件名中使用斜杠(/)会给人以层次结构的错觉。
可以使用HTTP协议的blob端点(blob.core.windows.net)来读取和写入Blob。
https://storageaccount.blob.core.windows.net/container/path/to/blob
2) 使用WASBS的Blob存储
如果Hadoop应用程序想要与Azure Blob存储进行交互,那么可以使用WASBS驱动提供HDFS兼容性。该驱动程序执行将文件系统语义(根据Hadoop文件系统接口所需)映射到由Azure Blob存储公开的对象存储样式接口的复杂任务。
wasbs://containername@accountname.blob.core.windows.net
使用WASB驱动程序,使用该驱动程序的工具(如HDInsight)可以连接到同一blob端点(blob.core.windows.net)上的Blob存储。
3)ABFSS的ADLS
(忽略已弃用的单独服务ADLS gen 1)
{{link1:查看此答案以了解Blob存储和ADLS之间的区别}}
然后出现了ADLS Gen2(Azure的HDFS提供),它支持分层存储(文件夹概念)并具有文件和文件夹的ACL等功能。启用分层命名空间功能的存储帐户将从Blob存储转换为ADLS Gen2。为了与ADLS gen2通信,使用DFS端点(dfs.core.windows.net)。
abfss://filesystemname@accountname.dfs.core.windows.net
该用什么?
如果使用ADLS,
如果使用Blob存储,
更新1:
微软已经弃用了Windows Azure Storage Blob驱动程序(WASB),转而推荐使用Azure Blob Filesystem驱动程序(ABFS)。相比WASB,ABFS具有许多优点。对于新的工作负载,请使用ABFS来处理Blob存储和数据湖。