OSS-HDFS服务(JindoFS服务)是一款云原生数据湖存储产品。基于统一的元数据管理能力,在完全兼容HDFS文件系统接口的同时,提供充分的POSIX能力支持,能更好地满足大数据和AI等领域的数据湖计算场景。
注意事项
.dlsdata/
下。为避免影响OSS-HDFS服务的正常使用或者引发数据丢失的风险,禁止以非OSS-HDFS提供的方式对目录.dlsdata/
及目录下的Object执行写入操作,例如重命名目录、删除目录或者删除Object等。开通OSS-HDFS服务后,您在使用涉及.dlsdata/
目录写入操作的OSS其他功能时,可能存在数据丢失、数据污染、数据无法正常访问等风险。更多信息,请参见OSS-HDFS服务使用前须知。
费用说明
- 元数据管理费用
使用OSS-HDFS服务时,会产生元数据管理费用,但该计费项暂不收费。更多信息,请参见OSS-HDFS元数据管理费用。
- 数据使用费用
使用OSS-HDFS服务时,数据块采用了OSS的存储方式。因此,OSS的计量计费方式适用于OSS-HDFS服务中的数据块。更多信息,请参见计费概述。
功能优势
通过OSS-HDFS服务,无需对现有的Hadoop、Spark大数据分析应用做任何修改。通过简单的配置即可像在原生HDFS中那样管理和访问数据,同时获得OSS无限容量、弹性扩展、更高的安全性、可靠性和可用性支撑。
作为云原生数据湖基础,OSS-HDFS在满足EB级数据分析、亿级文件管理服务、TB级吞吐量的同时,全面融合大数据存储生态,除提供对象存储扁平命名空间之外,还提供了分层命名空间服务。分层命名空间支持将对象组织到一个目录层次结构中进行管理,并能通过统一元数据管理能力进行内部自动转换。对Hadoop用户而言,无需做数据复制或转换就可以实现像访问本地HDFS一样高效的数据访问,极大提升整体作业性能,降低了维护成本。
服务特性
OSS-HDFS服务支持的特性如下:
HDFS兼容访问
OSS-HDFS服务完全兼容HDFS接口,同时支持目录层级的操作,您只需集成JindoSDK,即可为Apache Hadoop的计算分析应用(例如MapReduce、Hive、Spark、Flink等)提供了访问HDFS服务的能力,像使用Hadoop分布式文件系统(HDFS)一样管理和访问数据。具体操作,请参见非EMR集群接入OSS-HDFS服务快速入门。
POSIX能力支持
OSS-HDFS服务可以通过JindoFuse提供POSIX支持,允许您将OSS-HDFS服务上的文件挂载到本地文件系统中,能够像操作本地文件系统一样操作JindoFS服务中的文件。具体操作,请参见使用JindoFuse访问OSS-HDFS服务。
高性能、高弹性、低成本
使用自建Hadoop集群,严重依赖硬件资源,难以实现资源的弹性伸缩。例如Hadoop集群规模超过数百台,文件数达到4亿左右时,NameNode基本达到瓶颈。随着元数据规模的上涨,其QPS存在下降的趋势。
OSS-HDFS服务是专为多租户、海量数据存储服务设计。元数据管理能力可弹性扩容,可支持更高的并发度、吞吐量和低时延。即使超过10亿文件数依然可以保持服务稳定,提供高性能、高可用的服务。同时采用统一元数据管理能力,可轻松应对超大文件规模,并支持多种分层分级策略,系统的资源利用率更高,更节约成本,能充分满足业务体量快速变化的需求。
数据持久性和服务可用性
OSS-HDFS服务中的数据存储在OSS上,而OSS作为阿里巴巴全集团数据存储的核心基础设施,多年支撑双11业务高峰,历经高可用与高可靠的严苛考验。OSS特性如下:
- 服务可用性(或业务连续性)不低于99.995%。
- 数据设计持久性不低于99.9999999999%(12个9)。
- 规模自动扩展,不影响对外服务。
- 数据自动多重冗余备份。
Apache Hudi
OSS-HDFS服务的数据存储格式为Apache Hudi,支持在Hadoop文件系统之上提供更新数据和删除数据的能力以及消费变化数据的能力。
应用场景
OSS-HDFS服务提供全面的大数据和AI生态支持,其主要应用场景如下:
Hive、Spark离线数仓
OSS-HDFS服务原生支持文件、目录语义和操作,支持目录原子性、毫秒级rename操作,适用于开源Hive、Spark离线数仓。在ETL场景下相较于OSS标准存储类型Bucket,OSS-HDFS服务具有更大的性能优势。更多信息,请参见在EMR Hive或Spark中访问OSS-HDFS。
OLAP
OSS-HDFS服务提供append、truncate、flush、pwrite等基础文件操作。通过JindoFuse充分支持POSIX,可以在ClickHouse这类OLAP场景中替换本地磁盘来实现存储与计算分离方案。同时,得益于缓存系统进行加速,达到较优性价比。
AI 训练、推理
OSS-HDFS服务提供append、truncate、flush、pwrite等基础文件操作。通过JindoFuse充分支持POSIX,无缝对接AI生态和已有的Python训练、推理程序。
HBase存储与计算分离
OSS-HDFS服务原生支持文件、目录语义和操作,并支持flush操作,可用于替代HDFS用做HBase存储与计算分离方案。相比HBase结合OSS标准存储类型Bucket的方案,HBase结合OSS-HDFS服务依赖HDFS来存放WAL日志,大幅简化整体方案架构。更多信息,请参见使用OSS-HDFS作为HBase的底层存储。
实时计算
OSS-HDFS服务高效支持flush和truncate操作,可无缝替代HDFS在Flink实时计算应用场景下用做Sink、Checkpoint存储方案。
数据迁移
OSS-HDFS服务作为新一代云原生数据湖存储,支持IDC HDFS平迁上云,优化HDFS使用体验,同时享受弹性伸缩、按需付费的成本效益,大幅优化存储成本。JindoDistCp工具支持将HDFS文件数据(包括文件属性等元数据)无缝迁入OSS-HDFS 服务,并基于HDFS Checksum提供快速比对。
功能特性
下表列举了OSS-HDFS在不同场景下的功能特性支持情况:
场景 | 支持特性 |
---|---|
Hive、Spark数仓 | 原生支持文件、目录语义和操作 |
添加文件、目录权限 | |
目录原子性、毫秒级rename | |
通过setTimes设置时间 | |
扩展属性(XAttrs) | |
ACL | |
本地读缓存加速 | |
替代HDFS | 快照(Snapshot) |
文件flush、sync、truncate以及append操作 | |
校验和Checksum | |
HDFS回收站自动清理 | |
POSIX能力 | 文件随机写 |
文件truncate、append、flush操作 |