最近,Cloudera宣布将Apache Iceberg集成到云生态系统中,Iceberg的优势可以集成到正在向公共云和湖泊仓库等集成体系结构过渡的企业中。集成了Iceberg的Cloudera CDP将有力地帮助企业构建下一代数据体系结构,并为企业提供更多的前瞻性和额外的好处。

Apache Iceberg是一种高性能的开放表格式。出生在云上,可扩展到Pb级,独立于基础存储层和引擎存储层。Apache Iceberg是一种真正的开放表格格式,它符合云Era数据平台(CDP)的愿景。

原因一:多功能分析有助于数据集共享。

Apache Iceberg在实现不同流和处理引擎之间的无缝集成的同时,保持数据完整性。多个引擎可以同时更改表,部分写入也不会出现准确性问题,不需要昂贵的读取锁定。因此,使用不同的连接器、维护不适当的API以及使用其他临时解决方案处理数据集的需求减少了。

Iceberg通过与所有引擎兼容的开放式设计,实现数据集共享。云era将对Hive和Impala的支持扩展到了多功能分析数据体系结构愿景,从处理大数据工程工作负载和流到智能大数据分析平台(FAST BI)和查询,再到机器学习。

Iceberg的多功能性也意味着Cloudera数据平台可以打破数据孤岛,将分析整合到一致的生命周期中,在每一个阶段提取业务价值。用户可以使用所需的工具,充分利用工作负载的特定优化。例如,Jupyter笔记本电脑可以使用Spark或Python框架直接访问Iceberg表,构建预测模型,通过NiFi流获取新数据,SQL分析师可以利用数据可视化监控收入目标。完全是开源项目,意味着以后会支持更多的引擎和工具。

原因2:以开放文件格式存储数据的灵活性提高

作为表格格式,Iceberg支持一些最常用的开源文件格式,如Avro、Parquet和ORC。它们是众所周知和成熟的大数据文件格式,不仅包含在开源社区中,还包含在第三方工具中。开放形式的价值在于灵活性和可移植性。用户可以移动工作负载,而不必受限于主存储。但是到目前为止,这种格式还包括——票模式和存储优化与引擎紧密结合在一起,不可避免地会出现“指尖”。

Iceberg是一种开放表格格式,可与开放文件格式一起使用,以避免这种结合。表信息(如架构和分区)作为元数据文件的一部分单独存储,因此可以轻松地与表和选定的存储格式集成。查询不再依赖于表的物理布局,因此Iceberg表可以随着数据量的变化逐步进行分区架构的演变。

原因3:开源功能有效避免了供应商的“陷阱”

开源对于避免供应商的“陷阱”很重要,但很多供应商在销售开源工具时隐藏了自己开发的版本和开源社区之间的差异。这意味着,当客户尝试使用开源版本时,他们会发现这两个版本之间存在显着差异。这么说,避开供应商陷阱是一件困难的事。

Apache ICEBERG项目是一个动态社区,它可以快速扩大对各种处理引擎的支持,并不断添加新功能。为了使该社区和新的表格式持续成功,Cloudera支持上游社区通过Spark、Hive和Impala广泛采用Apache Iceberg,并将其用于希望构建下一代数据架构的企业。该社区提供了多种功能增强和性能特性,如矢量化读取和Z-Order,可帮助用户无论使用哪个引擎或供应商访问表。在CDP中,这已作为IMPALMPP开源引擎对Z-Order的支持的一部分受到支持。

如前所述,在查询计划中,Iceberg依赖于元数据文件,该文件包含数据所在的位置、分区和模式在文件中的分布方式。这实现了模式的进化,但形式的变化太多会产生问题。已为此社区创建了读取元数据文件的API,其他类似的优化也在同步。这种开放式标准方法使用户不必担心陷入供应商的“陷阱”,而是能够以Iceberg的CDP性能运行工作负载。

理由4:有效降低企业应用程序学习和管理的门槛

作为云era企业平台的一部分,Iceberg的基本集成利用了企业级共享数据经验(SDX)功能,如数据系谱、审核和安全性,不需要重新设计或集成第三方工具,因此不需要管理复杂性或进一步学习。CDP中的Apache Iceberg表已集成到SDX Metastore中,用于表结构和访问验证。也就是说,用户可以执行审计,创建详细的策略,然后立即使用。

原因5: Apache Iceberg,打开新的使用场景

Apache Hive表提供了对数据仓库、数据工程和机器学习的集中访问,提供了良好的性能基础。它还支持开放文件格式(ORC、AVRO、Parquet等),并通过ACID和事务支持实施新的使用案例。但是,元数据的集中和抽象主要是基于文件的,因此在规模等方面存在困难。

Iceberg增加了新功能,以克服规模和性能问题,应对各种行业和使用案例的挑战。例如:

捕获更改数据(CDC)

能够处理具有原子性和一致性的增量表的能力已经很普遍,现有的解决方案(如Hive ACID)也可以提供这些功能,但对于提供DW和BI用例的大多数数据处理管道来说,这一点至关重要。因此,Iceberg从一开始就支持行级更新和删除,从而解决了这个问题。您可以使用多种方法(如Copy-on-write和Merge-on-read)来完成此操作,而无需进入详细信息。但更重要的是,随着这些解决方案和Iceberg开放标准格式的不断发展,可以更好地处理类似的使用案例。

金融监管

很多金融和限制高的行业回顾历史,甚至希望将餐桌状态恢复到特定的时间点。Apache Iceberg的快照和时间移动功能使分析和审计员能够轻松地闪回历史记录,并使用简单的SQL分析数据。

机器学习操作和维护的重复性

Iceberg可以检索以前的表状态,使机器学习工程师能够使用原始状态的数据重新培训模型,并执行使预测与历史数据相匹配的后期分析。这些保存的历史特征使您能够重新评估模型、找出不足之处、更新和部署更好的模型。

简化数据管理

大多数数据从业者需要花费大量的时间来解决数据管理的复杂性,为项目确定新的数据源,并将新属性添加到现有数据模型中是其中之一。以前,开发周期可能会太长,特别是在引入新分区时,因为需要重新创建和重新加载表。但是,使用Iceberg表及其元数据库存文件可以简化这些更新,而无需额外费用。

o方案演变:允许在不影响数据可用性的情况下对表中的列进行内部更改(添加、删除、重命名、更新或重排)。所有更改都可以在元数据文件中跟踪,Iceberg确保模式更改是独立的,没有副作用(例如,值不正确)。

o分割区演化:您可以使用与纲要演化相同的方式变更Iceberg表格的分割区。在分区演化过程中,现有数据将保持不变,新数据将根据新分区规范写入。Iceberg使用隐藏分区,通过分区计划自动截断包含新旧分区规范中匹配数据的文件。

o细分:以前,查询计划期间的主要瓶颈是将分区加载到元数据仓库和内存中。用户使用时间等细分分方案防止性能随表大小的增加而下降。Iceberg克服了这一可扩展性问题,同时避免了元数据仓库和内存瓶颈,使用户能够使用最适合应用程序需求的细粒度分区方案进行更快的查询。

这意味着数据专家可以将更多的时间用于创造业务价值和开发新的数据应用程序,同时减少数据管理处理时间。也就是说,可以根据业务速度进化数据,防止本末倒置。

轻松构建数据仓库

我们看到了数据仓库领域的很多趋势。其中最新的趋势是湖泊仓库——,这是数据仓库和数据湖相结合的综合体系结构。企业加速这种融合体系结构的关键因素之一是存储和处理引擎的解耦。但是,它必须与从流式和实时分析到仓库和机器学习的多功能分析服务相结合,光分析工作负载是不够的。因此,CDP的Iceberg没有固定形式,可以在云中扩展到与所有引擎兼容的开放数据底部。

这使企业能够轻松构建“所有”数据仓库,而无需使用专用存储格式或在引擎或服务内进行专有优化,以获得最佳性能。

_Cloudera数据平台引入Apache Iceberg的五大原因

发表回复

Please sing in to post your comment or singup if you don't have account.