自一年多前发布 Cloudera 数据工程 (CDE) 以来,我们的首要目标是使用旨在简化自动化和可观察性的顶级工具来大规模操作 Spark 管道。在与部署 Spark 应用程序的数千名客户合作时,我们看到了管理 Spark 以及自动化、交付和优化安全数据管道的重大挑战。我们希望在真正的企业混合数据服务平台之上开发为数据工程从业者量身定制的服务。
CDE 的一个关键租户是模块化和可移植性,这就是我们专注于提供完全托管的生产就绪 Spark-on-Kubernetes 服务的原因。这使我们能够拥有分解的存储和计算层,根据工作负载要求独立扩展。
我们还介绍了 Kubernetes 上的Apache Airflow作为下一代编排服务。数据管道由具有依赖关系和触发器的多个步骤组成。需要一个灵活的编排工具来实现更轻松的自动化、依赖管理和定制——比如 Apache Airflow——来满足大大小小的组织不断变化的需求。打包 Apache Airflow 并将其作为 CDE 中的托管服务公开,可减轻安全性和正常运行时间的典型运营管理开销,同时为数据工程师提供作业管理 API 来安排和监控多步管道。
为了确保这些关键组件快速扩展并满足客户的工作负载,我们集成了Apache Yunikorn,这是一个针对 Kubenetes 的优化资源调度器,它克服了默认调度器的许多缺陷,并允许我们提供队列、优先级和自定义策略等新功能.
图 1:CDE 服务组件和从业者功能
在过去的一年中,我们的功能沿着两个关键轨道运行;跟踪一个侧重于平台和部署功能,另一个侧重于增强从业者工具。
图 2 – 2021 年 CDE 产品发布亮点
平台
混合平台
今年年初,我们将公共云产品扩展到Azure,为客户提供了在 AWS 和 Azure 上部署的灵活性,从而减轻了供应商锁定。随后,我们在今年晚些时候发布了第一个私有云 CDE版本,实现了我们的混合愿景,即一次开发并在任何地方部署,无论是在本地还是在公共云上。
快速自动缩放和扩展
我们通过在 Apache Yunikorn 中引入gang 调度和 bin-packing的创新来解决工作负载速度和规模问题。这使我们能够在 200 个节点规模上将吞吐量提高 2 倍,并将扩展延迟降低 3 倍。使用 CDE 的客户会自动获得这些好处,帮助减少支出,同时满足严格的 SLA。
保护和扩展存储
在存储层,安全、沿袭和访问控制对几乎所有客户都起着至关重要的作用。Cloudera 的共享数据体验 (SDX) 提供了所有这些功能,允许在包括 CDE 在内的所有数据服务之间实现无缝数据共享。一项称为Ranger 授权服务(RAZ) 的新功能提供了对云存储的细粒度授权。客户可以超越难以区分用户级别访问的粗略安全模型,现在可以轻松地加入新用户,同时自动为他们提供自己的私人主目录。这还允许共享具有完整审计跟踪的其他目录。随着数据团队的成长,RAZ 与 CDE 的集成将在帮助共享和控制精选数据集方面发挥更加关键的作用。
我们并没有止步于此,CDE 还引入了对Apache Iceberg的支持。对于那些不太熟悉的人来说,Iceberg 最初是在 Netflix 开发的,目的是克服扩展非基于云的表格格式的许多挑战。如今,许多创新技术公司都在 PB 级使用它,使他们能够轻松地发展模式、为时间旅行式查询创建快照,并执行行级更新和删除以符合 ACID。我们很高兴在技术预览中提供这种在云中诞生的表格格式,它将帮助我们的许多公共云客户构建面向未来的数据架构。
工具
现代化管道
CDE 的主要优势之一是如何设计作业管理 API 来简化 Spark 作业的部署和操作。2021 年初,我们扩展了 API 以支持使用新作业类型 Airflow的管道。使用同样熟悉的 API,用户现在可以利用原生 Airflow 功能(如分支、触发器、重试和操作符)部署自己的多步骤管道。迄今为止,我们已经有数千个 Airflow DAG 被客户部署在各种场景中,从简单的多步骤 Spark 管道到编排 Spark、Hive SQL、bash 和其他运算符的可重用模板化管道。
CDP Airflow Operators
由于 Cloudera 数据平台 (CDP) 支持 SQL 分析和 ML 等多功能分析,因此我们需要一种无缝方式向客户展示这些相同的功能,因为他们希望实现数据管道的现代化。除了 CDE Airflow 运算符之外,我们还引入了一个 CDW 运算符,它允许用户在自动扩展的虚拟仓库中的 Hive 上执行 ETL 作业。这为使用 Spark 和 Hive 混合执行数据转换的客户提供了新的用例。
其次,我们希望任何使用 Airflow(甚至在 CDE 之外)的客户都可以使用 CDP 平台,而不是被绑定到 CDE 中的嵌入式 Airflow,这就是我们发布Cloudera 提供程序包的原因。我们期待在未来几个月为社区贡献更多的 CDP运算符。
Spark 3.1 的性能提升
随着CDE 中 Spark 3.1的发布,客户能够部署 Spark-on-Kubernetes 的混合版本。这为用户提供了超过 30% 的性能提升(基于内部基准)。虚拟集群创建向导中的一个新选项允许新团队在几分钟内启动自动扩展 Spark 3 集群。一旦启动并运行,用户可以通过与以前相同的 UI 和 CLI/API 无缝过渡到部署 Spark 3 作业,并具有包括实时日志和 Spark UI 在内的全面监控。
Airflow 2.1刷新
我们密切跟踪上游 Apache Airflow 社区,当我们看到 Airflow 2 的性能和稳定性改进时,我们知道为我们的 CDP PC 客户带来同样的好处至关重要。下半年,我们完全过渡到 Airflow 2.1。作为 CDE 中的嵌入式调度程序,Airflow 2 具有开箱即用的治理、安全性和计算自动缩放功能,以及与 CDE 的作业管理 API 的集成,使我们的许多部署管道的客户可以轻松过渡。
自助管道创作
当我们第一次与使用 Airflow 的数据团队合作时,编写 DAG 并正确执行是一些主要的入职困难。这就是为什么我们看到了为 Airflow 管道提供无代码低代码创作体验的机会。这样,用户就可以专注于数据管理,而不是流水线粘合逻辑。CDE Pipeline 创作 UI 将这些复杂性从用户那里抽象出来,使多步骤管道开发成为自助服务和点击驱动的。为开发、部署和操作真正的端到端数据管道提供比以前更容易的途径。
合作伙伴
最后,我们还加强了与合作伙伴的整合。借助我们的自定义运行时支持,ISV 合作伙伴 Precisely 能够集成他们自己的库,以在自定义容器映像上使用 Spark 读取和处理数据管道。Modak Nabu™ 是一种在云中诞生的、与云无关的集成数据工程应用程序,已在使用 CDE 的客户中成功部署。借助 Modak Nabu™,客户以前所未有的速度部署了数据网格并分析了他们的数据——在一个用例中,制药客户的数据湖和云平台在 12 周内启动并运行(而通常为 6-12 个月)。这是云原生解决方案可以提供的规模和速度——Modak Nabu™ 与 CDP 一直在提供同样的效果。
新年快乐
2021 年令人兴奋,因为我们为客户提供了杀手级功能,我们对 2022 年的内容更加兴奋。在来年,我们将显着扩展功能,以帮助我们的客户利用他们的数据做更多事情并提供高质量整个组织的生产用例。除了提供世界上第一个真正的混合数据云之外,请继续关注将通过创新的数据操作和工程能力推动更多业务价值的产品发布。
原文作者:Shaun Ahmadian
原文链接:https://blog.cloudera.com/cloudera-data-engineering-2021-year-end-review/