Azure Data Lake Storage 是一组专用于大数据分析的功能,基于 Azure Blob 存储而构建。 本文介绍Azure Data Lake Storage的主要功能、支持的集成和体系结构,以帮助你评估分析工作负载。
Data Lake Storage 使 Azure 存储成为在 Azure 上构建企业数据湖的基础。 Data Lake Storage 从一开始就设计为存储数千万亿字节的信息,同时保持数百千兆位的吞吐量,允许你轻松管理大量数据。
什么是 Data Lake?
数据湖是一个集中式存储库,可在其中存储所有结构化和非结构化数据。 使用数据湖,你的组织可以快速、更轻松地在一个位置存储、访问和分析各种数据。 使用数据湖,无需调整数据以适应现有结构。 相反,可以将数据存储为原始格式或原生格式,通常作为文件或二进制大型对象 (blob)。
Azure Data Lake Storage 是一种基于云的企业数据湖解决方案。 它旨在以任何格式存储大量数据,并促进大数据分析工作负载。 使用它可将任意类型和任意摄取速度的数据集中采集到单一位置,以便借助各种框架轻松访问和分析。
Azure Data Lake Storage功能
Azure Data Lake Storage 不是专用的服务或帐户类型。 相反,它是通过您 Azure 存储帐户的 Blob 存储服务使用的一套功能实现的。 通过启用分层命名空间设置来解锁这些功能。
Azure Data Lake Storage 包括以下功能。
Hadoop 兼容访问
分层目录结构
更低的成本和更强的性能
粒度更细的安全模型
极强的可伸缩性
Hadoop 兼容访问
Azure Data Lake Storage 主要设计用于与 Hadoop 以及所有使用 Apache Hadoop 分布式文件系统 (HDFS) 作为数据访问层的框架协同工作。 Hadoop 发行版包括 Azure Blob File System (ABFS) 驱动程序,它使许多应用程序和框架能够直接访问 Azure Blob 存储数据。 ABFS 驱动程序已针对大数据分析专门进行了优化。 可以通过终结点 dfs.core.chinacloudapi.cn获取相应的 REST API。
使用 HDFS 作为数据访问层的数据分析框架可以通过 ABFS 直接访问 Azure Data Lake Storage 数据。 Apache Spark 分析引擎和 Presto SQL 查询引擎就是此类框架的示例。
有关支持的服务和平台的详细信息,请参阅 支持 Azure Data Lake Storage 的 Azure 服务和支持 Azure Data Lake Storage 的开源平台。
分层目录结构
分层命名空间是一项关键功能,它使 Azure Data Lake Storage 能够以对象存储规模和价格提供高性能数据访问。 使用此功能可将存储帐户中的所有对象和文件组织到目录和嵌套子目录的层次结构中。 换句话说,Azure Data Lake Storage 数据的组织方式与在你的计算机上组织文件的方式大致相同。
重命名或删除目录等操作将成为目录中的单个原子元数据操作。 无需枚举和处理共享目录名称前缀的所有对象。
更低的成本和更强的性能
Azure Data Lake Storage 按 Azure Blob 存储级别定价。 它基于Azure Blob 存储功能(例如自动化生命周期策略管理和对象级分层)来管理大数据存储成本。
性能会提高,因为在分析之前不需要复制或转换数据。 Azure Data Lake Storage 的分层命名空间功能允许高效访问和浏览。 此体系结构意味着数据处理需要更少的计算资源,从而减少访问数据的时间和成本。
粒度更细的安全模型
Azure Data Lake Storage 访问控制模型支持 Azure 基于角色的访问控制 (Azure RBAC) 和用于 UNIX 的可移植操作系统接口 (POSIX) 访问控制列表 (ACL)。 另外还有一些特定于 Azure Data Lake Storage 的额外安全设置。 在目录或文件级别设置权限。 Azure Data Lake Storage使用Microsoft托管或客户管理的加密密钥加密静态所有数据。
极强的可伸缩性
Azure Data Lake Storage 提供海量存储并接受多种数据类型进行分析。 它对帐户大小、文件大小或 Data Lake 中可存储的数据量均无任何限制。 单个文件的大小可以介于几千字节(KB)到数百 TB(TB) 之间。 Azure Data Lake Storage 在服务、帐户和文件级别衡量时,每个请求的延迟几乎保持恒定。
此设计意味着 Azure Data Lake Storage 可以轻松快速地纵向扩展以满足严格的工作负载。 它也可以在需求下降时轻松地缩减规模。
基于 Azure Blob 存储构建
你引入的数据会以 Blob 的形式保存在存储帐户中。 管理 Blob 的服务是 Azure Blob 存储服务。 Data Lake Storage描述此服务的功能或“增强功能”,以满足大数据分析工作负载的需求。
由于这些功能是基于 Blob 存储构建的,因此你的账户可以使用诊断日志记录、访问层和生命周期管理策略等功能。 完全支持大多数 Blob 存储功能,但某些功能可能仅在预览级别受支持,其中少数功能尚不受支持。 有关支持语句的完整列表,请参阅 Azure 存储帐户中的 Blob 存储功能支持。 随着支持继续扩展,每个列出的功能的状态会随着时间而变化。
术语:blob、文件和容器
Azure Blob 存储目录包含两部分内容。 内容中的 Azure Data Lake Storage 部分提供使用 Azure Data Lake Storage 的最佳做法和指导。 内容中的Blob 存储部分提供了关于并非特定于 Azure Data Lake Storage 的帐户功能的指导。
在参阅这两个部分时,你会注意到术语有一些细微的差别。 例如,Blob 存储 文档中的内容使用术语 blob,而不是 file。 从技术上讲,你上传到存储帐户的文件会成为你帐户中的 Blob 对象。 因此,该术语是正确的。 如果你习惯使用“文件”这个术语,那么“blob”这个术语可能会引起混淆。 你还会看到术语容器被用来指代文件系统。 请将这些术语视为同义词。