Netflix展示大数据分析基础架构

简介:

Netflix资深软件工程师Tom Gianos和Netflix大数据计算工程经理Dan Weeks在2016年度QCon旧金山活动中介绍了Netflix的大数据策略和分析基础架构,此外还概括介绍了他们的数据规模、S3数据仓库,以及他们的大数据大数据联合编排系统(Federated orchestration system)Genie。

为了介绍具体的需求,Weeks解释称,“规模”是Netflix在大数据领域面临的最大挑战。该公司在全球范围内有超过8600万会员,每天通过流播的方式播放总时长超过1.25亿小时的内容。这样的规模导致他们的数据仓库容量已经超过60PB。

尽管很多人可能觉得视频流播数据是Netflix数据分析工作的主要数据源,但Weeks解释说,他们分析的主要是其他类型的数据,例如公司内部各种微服务和营销活动产生的事件,尤其是Weeks专门提到:

Netflix是一家彻头彻尾的数据驱动型公司。我们喜欢根据真凭实据作出不同的决策。对于整个平台的某些变更,如果无法切实证明有助于改善用户体验,我们宁愿不进行这样的变更。

Weeks列举了一个此类数据类型的用例:A/B测试。数据科学家可以分析用户的交互,进而决定向用户永久推送哪些类型的功能。

Weeks还概括介绍了Netflix的数据流程架构。他们共使用了两个数据流,一个用于事件数据,一个用于维度数据。事件数据通过他们的Kafka数据管道传递,维度数据则使用开源工具Aegisthus从他们的Cassandra群集拉取。最终,所有类型的数据汇总至S3。

虽然传统数据仓库可以使用HDFS,但Weeks提到使用S3可以获得其他一些优势。例如99.99%可用性、版本控制,以及将计算负载从存储系统中剥离的能力。最后一点非常关键,尽管数据未能本地保存会导致延迟增高,但通过这样的剥离可以很轻松地在无须移动数据的前提下对计算群集进行缩放或执行升级任务。

在数据仓库方面,为了获得所需数据,Weeks介绍说他们使用了一种名为Metacat的元数据系统。具体来说,该系统提供了有关确定如何处理数据所需的信息,此外还可以从中了解数据具体是什么,保存在哪里。由于这是一种联合(Federated)系统,因此可在Hive、RDS、S3等存储的基础之上运行的技术。

Weeks还介绍说,数据本身存储为Parquet文件格式。这是一种列式存储格式,借此可获得更高压缩率。Parquet文件还可以存储额外的元数据,例如有关列最大/最小长度及其体积的信息。这样诸如计数或跳过之类的操作就可以非常快速地执行完毕。

有关Parquet调优地详细信息已由Netflix资深软件工程师Ryan Blue公开发布至这里。

在Weeks从底层介绍他们的大数据环境后,Gianos从较高层面进行了介绍。他介绍的内容主要围绕Genie,这是一种联合编排引擎,可用于管理诸如Hadoop、Pig、Hive等不同类型的大数据作业。

为了介绍他们针对Genie的具体需求,Gianos用一个简单的用例作为例子:少量用户同时访问同一个群集。虽然这种情况非常易于管理,但随着组织规模的增大,可能会面临不同的情况,导致对客户端资源和群集资源的需求激增,进而导致部署变得愈加复杂。这就导致了导致数据科学家经常遇到的问题,例如作业速度变慢,数据处理库过时等,这也使得系统管理员难以轻松地对这些问题作出响应。

按照Gianos的介绍,Genie可以帮助系统管理员执行群集的启动和管理、库文件的安装等任务,这一切都不会影响到最终用户。从用户的角度来看,用户可以通过这样的抽象直接访问群集,而无须考虑如何连接到群集,也不需要了解群集上到底运行了什么。

在群集的更新方面,Gianos介绍说,只要成功通过测试,只需要添加对应的标签即可顺利迁移至新群集。Genie可以对所有工作进行编排,并让原本的作业继续在老群集上运行,同时新提交的作业可以在新群集上运行。这样即可实现不停机更新。

Genios还介绍说,Genie的标签机制可以应用于负载均衡,为此只需跨越群集对标签进行复制即可拆分负载。从客户端的角度来看,这一过程是完全透明的。

另外Genios也介绍了Genie的二进制更新机制。新的二进制文件可以移动到一个集中的下载位置,随后在下一次调用时自动替换老的文件。

Genios从数据科学家的角度演示了Genie的完整工作流。基本上,他们只需要将作业提交至Genie,其中可包含群集标签等元数据,以及自己希望使用的大数据处理引擎。随后Genie可以查找最适合运行该作业的群集。Genie的界面会通过用户反馈告诉用户作业的运行进度。

本文转自d1net(转载)

相关实践学习
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
5月前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
6月前
|
存储 SQL 分布式计算
终于!大数据分析不用再“又要快又要省钱”二选一了!Dataphin新功能太香了!
Dataphin推出查询加速新功能,支持用StarRocks等引擎直连MaxCompute或Hadoop查原始数据,无需同步、秒级响应。数据只存一份,省成本、提效率,权限统一管理,打破“又要快又要省”的不可能三角,助力企业实现分析自由。
309 49
|
5月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。
|
5月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
6月前
|
数据采集 数据可视化 关系型数据库
基于python大数据的电影数据可视化分析系统
电影分析与可视化平台顺应电影产业数字化趋势,整合大数据处理、人工智能与Web技术,实现电影数据的采集、分析与可视化展示。平台支持票房、评分、观众行为等多维度分析,助力行业洞察与决策,同时提供互动界面,增强观众对电影文化的理解。技术上依托Python、MySQL、Flask、HTML等构建,融合数据采集与AI分析,提升电影行业的数据应用能力。
|
6月前
|
Java API 开发工具
灵码产品演示:软件工程架构分析
本演示展示灵码对复杂软件项目的架构分析与文档生成能力。通过Qwen3模型,结合PlantUML,自动生成系统架构图、微服务时序图,并提取API接口文档,实现高效、智能的代码理解与文档输出。
349 5
|
6月前
|
存储 JSON 数据处理
ClkLog埋点与用户行为分析系统:架构升级与性能全面提升
随着越来越多企业在实际业务中使用 ClkLog,数据规模和分析需求也不断提升,部分用户日活已经超过10万,为了顺应这一趋势,ClkLog 秉持 “开放透明、持续演进”的理念,推出了迄今为止最重要的一次性能优化升级。新版本在大规模数据处理与复杂查询场景中,性能表现实现了跨越式提升。经过多轮研发与严格测试,新版本现已正式上线:在原有付费版 1.0 的基础上架构全面升级,并同步发布全新的 2.0 版本。为用户带来更强的性能与更广的适用场景。
|
5月前
|
传感器 人工智能 监控
拔俗多模态跨尺度大数据AI分析平台:让复杂数据“开口说话”的智能引擎
在数字化时代,多模态跨尺度大数据AI分析平台应运而生,打破数据孤岛,融合图像、文本、视频等多源信息,贯通微观与宏观尺度,实现智能诊断、预测与决策,广泛应用于医疗、制造、金融等领域,推动AI从“看懂”到“会思考”的跃迁。
405 0
|
6月前
|
数据可视化 大数据 数据挖掘
基于python大数据的招聘数据可视化分析系统
本系统基于Python开发,整合多渠道招聘数据,利用数据分析与可视化技术,助力企业高效决策。核心功能包括数据采集、智能分析、可视化展示及权限管理,提升招聘效率与人才管理水平,推动人力资源管理数字化转型。