Azure 存储中的 ABFSS 和 WASBS 有什么区别?

Sau*_*iya 7 azure azure-storage azure-storage-blobs azure-storage-files

对于什么是 ABFS[S] 和 WASB[S],有可用的定义。但没有明确界定何时使用什么。两者最合适和最合适的用例是什么?

sha*_*359 29

1) 使用 HTTP 的 Blob 存储

Azure引入了blob存储,这是一种具有扁平结构的对象存储。没有文件夹或层次结构的概念。尽管在文件名中使用斜杠(/)会产生层次结构的错觉。

具有 HTTP 协议的Blob端点 ( blob.core.windows.net ) 可用于读取和写入 Blob

https://storageaccount.blob.core.windows.net/container/path/to/blob
Run Code Online (Sandbox Code Playgroud)

2) 使用 WASBS 进行 Blob 存储

如果 Hadoop 应用程序想要与 Azure Blob 存储交互,则可以使用 WASBS 驱动程序提供 HDFS 兼容性。该驱动程序执行将文件系统语义(根据 Hadoop 文件系统接口的要求)映射到 Azure Blob 存储公开的对象存储样式接口的复杂任务。

wasbs://containername@accountname.blob.core.windows.net
Run Code Online (Sandbox Code Playgroud)

借助 WASB 驱动程序,使用该驱动程序的 HDInsight 等工具可以连接到同一Blob终结点 ( blob.core.windows.net ) 上的 Blob 存储。

3) ADLS 与 ABFSS

(忽略 ADLS gen 1,它是一项单独的服务,现已弃用)

检查此答案以了解黑白 blob 存储和 ADLS 的差异

然后出现了 ADLS Gen2(Azure 的 HDFS 产品),它支持分层存储(文件夹的概念),具有文件和文件夹上的 ACL 等功能。启用了分层命名空间功能的存储帐户将从 Blob 存储转换为 ADLS Gen2。为了与 ADLS gen2 通信,使用了DFS端点 ( dfs.core.windows.net )。

abfss://filesystemname@accountname.dfs.core.windows.net
Run Code Online (Sandbox Code Playgroud)

Hadoop 应用程序现在可以使用 ABFS 驱动程序连接到 ADLS。由于有了新的 DFS 端点,驱动程序现在非常高效,并且不需要在驱动程序中进行复杂的映射。Horton Works、HDInsight、azure Databricks 等解决方案可以使用 ABFSS 驱动程序更有效地连接到 ADLS。

此外,您还会注意到一些工具(例如 powerBI)同时支持 WASBS 和 ABFSS。


用什么?

如果使用ADLS,

  • 如果使用 Databricks 等 Hadoop/数据处理工具,HD Insight 将必须在 DFS 端点上使用 ABFSS。
  • ADLS HTTP休息端点文档。如果需要,进行 HTTP 调用。例如:一个 python 应用程序试图列出路径。ETC。
  • ADLS 构建在 Blob 存储之上,因此 Blob 端点也可用于读取和写入数据。

如果使用Blob存储,

  • 对于 Hadoop/数据处理工具,可以使用 blob 端点上的 WASBS。(WASB 未来将被弃用)
  • ABFS Driver也是交叉兼容的,也可以使用这个驱动。
  • 其他用例可以简单地使用 HTTP 端点,而不需要任何特殊的驱动程序。例如:Python 应用程序使用 http 端点读取文件并将其写入 blob 存储。

  • ADLS - Azure 数据湖存储
  • WASB - Windows Azure 存储 Blob(提供未加密的访问)
  • WASBS - Windows Azure 存储 Blob 安全(TLS 加密访问)
  • ABFS - Azure blob 文件系统
  • ABFSS - Azure blob 文件系统安全
  • DFS——分布式文件系统

更新1:

Microsoft 已弃用 Windows Azure 存储 Blob 驱动程序 (WASB),转而使用 Azure Blob 文件系统驱动程序 (ABFS)。与 WASB 相比,ABFS 具有许多优势。对于较新的工作负载,将 ABFS 用于 Blob 存储和数据湖。


Sul*_*tha 13

ABFS 代表Azure Blob 文件系统,Microsoft 建议将其用于大数据工作负载,因为它已针对此处提到的进行了优化。

WASBS 代表Windows Azure Storage Blob,Microsoft 建议按原样提供 TLS 加密访问,如此处所述


Iva*_*ang 11

区别和用例如下:

ABFS[S] 用于基于普通Azure 存储的Azure Data Lake Storage Gen2(在创建 Azure 存储帐户期间,启用Hierarchical namespace,然后创建 Azure Data Lake Storage Gen2)。一个例子是here

WASB[S] 用于普通Azure 存储。一个例子是here