数据驱动娱乐的未来:揭秘爱奇艺如何利用Apache Spark实现个性化推荐和内容分析

Apache Spark 在爱奇艺的现状与应用

Apache Spark 是爱奇艺大数据平台的核心组件,被广泛应用于数据处理、数据同步和数据查询分析等关键场景。在数据处理方面,爱奇艺通过数据开发平台支持开发者提交 Spark Jar 包任务或 Spark SQL 任务,进行高效的数据ETL处理。而在数据同步方面,爱奇艺自研的BabelX数据同步工具基于 Spark 计算框架开发,在多集群、多云间实现了高度可配置的全托管数据同步任务,支持 Hive、MySQL、MongoDB 等15种数据源之间的数据交换。对于数据分析师和运营同学,他们可通过魔镜即席查询平台提交 SQL 或配置数据指标查询,通过统一 SQL 网关 Pilot 调用 Spark SQL 服务进行查询分析。这种灵活而强大的数据分析能力,为爱奇艺提供了深入洞察用户行为和优化运营决策的重要支持。

爱奇艺对 Apache Spark 的应用不仅体现在离线计算任务上,还在部分流计算任务中展现出其强大的功能。通过结合 Spark Streaming 和其他实时数据处理组件,爱奇艺能够实时监控用户行为、快速识别潜在问题并作出相应的响应。这种实时计算的能力为爱奇艺提供了更高效的数据处理和更及时的决策支持,使其能够更好地满足用户需求并提供更优质的内容。

总之,Apache Spark 在爱奇艺的应用不仅提高了数据处理和分析的效率,还为其提供了更强大的实时计算能力,使其能够更好地理解用户、优化运营,并持续提供卓越的娱乐体验。

数据处理:在数据开发平台中支持开发者提交 Spark Jar 包任务或Spark SQL 任务对数据进行ETL处理。数据同步:爱奇艺自研的BabelX数据同步工具基于Spark 计算框架开发,支持 Hive、MySQL、MongoDB 等 15 种数据源之间的数据交换,支持多集群、多云间的数据同步,支持配置化的全托管数据同步任务。 数据分析:数据分析师、运营同学在魔镜即席查询平台上提交SQL或配置数据指标查询,通过 Pilot 统一SQL网关调用 Spark SQL 服务进行查询分析。

82fd96107206c8b836cb72f07e05fa23.jpeg

目前,爱奇艺Spark服务日均运行超过20万Spark任务,整体占用超过一半的大数据计算资源。 在爱奇艺大数据平台架构升级优化的过程中,对Spark 服务进行了版本迭代、服务优化、任务SQL 化和资源成本治理等改造,大幅提升了离线任务的计算效率和资源节省。

141d3c9d8f4258bd8cddd9ff70a122c5.jpeg


Spark计算框架应用优化

优秀特性的落地

随着内部 Spark 版本的迭代升级,爱奇艺对 Spark 新版本的一些优秀特性进行了调研和落地:动态资源分配、自适应查询优化、动态分区裁剪等。

动态资源分配(DRA):用户申请资源存在盲目性,并且 Spark 任务各个阶段的资源需求也不相同,不合理的资源配置导致任务资源浪费或执行过慢。爱奇艺在 Spark 2.4.3 开始上线了 External Shuffle Service,并开启了动态资源分配(DRA)。开启后,Spark会根据当前运行阶段的资源需求,动态地启动或释放Executor。DRA上线后,Spark任务的资源消耗降低了20%。自适应查询优化(AQE):自适应查询优化(AQE)是在Spark 3.0中引入的优秀特性,根据前置阶段运行时的统计指标,动态优化后续阶段的执行计划,自动选择合适的Join策略、优化倾斜的Join、合并小分区、拆分大分区等。爱奇艺在升级Spark 3.1.1后,默认开启了AQE,很好地解决了小文件、数据倾斜等问题,并且极大地提升了Spark 的计算性能,整体性能提升了大约10%。动态分区裁剪(DPP):SQL计算引擎中通常通过谓词下推的方式来减少从数据源读取的数据量,进而提升计算效率。在Spark3中引入了一种新的下推方式:动态分区裁剪和Runtime Filter,通过首先计算Join的小表,根据计算结果对Join的大表进行过滤,从而减少大表读取的数据量。爱奇艺对这两个特性进行调研测试,并默认开启DPP,在部分业务场景下性能提升了33倍。不过,爱奇艺发现在Spark 3.1.1中,开启DPP会导致含较多子查询的SQL解析特别慢。因此,爱奇艺实现了一个优化规则:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值