Py学习  »  Python

Netflix 背后的大功臣是 Python!

编程派 • 4 年前 • 495 次点击  


编辑 | EarlGrey

推荐 | 编程派公众号(ID:codingpy)

Netflix 是全球最大的流媒体平台,2019年全球用户量逼近 1.5 亿。如此多人追捧的趋势下,又是哪种强大的程序语言,支撑着Netflix的内部运行呢?

根据Netflix工程师的揭密,该平台所使用程序语言便是目前最受欢迎的程序语言Python。从跟踪用户使用状况与位置等,到推荐算法,再到内容分发网络CDN,全都在使用Python。

下面是这位工程师列举的几个使用场景:

加速警报和统计分析工作

用于警报和统计分析工作。当警报系统亮红灯时,就会自动分析1000多个相关信号,找出问题。另外Netflix也另外开发系统,使用Python进行大量的分析工作,以快速交付结果。总而言之,Python通常被Netflix用来自动化任务、数据采集和清理。

Demand Engineering

用 Python 完成Netflix云计算的区域容错转移、流量分配、容量运营和集群效率。编排容错转移的服务使用numpy和scipy来执行数值分析,boto3对AWS基础设施进行更改,rq用于运行异步工作负载,然后将其打包在一个Flask API中,放入bpython shell,并进行临时制作的能力已经不止一次挽救了局面。

设计个性化算法

Netflix在个性化机器学习基础设施中,广泛使用Python来训练一些关键体验的机器学习模型:先是从推荐算法到图片个性化,再到营销算法。

例如,一些算法使用TensorFlow、Keras和PyTorch来学习深度神经网络,XGBoost和LightGBM来学习梯度提升决策树,或者Python中更广泛的科学堆栈(numpy、scipy、sklearn、matplotlib、pandas、cvxpy等等)。

打造信息安全防路网

信息安全方面使用Python为Netflix实现安全自动化、风险分类、自动修复和漏洞识别等目标。并拥有许多成功的Python开源项目,包括Security Monkey(Netflix最活跃的开源项目)。基础设施安全上也利用Python帮助使用Repokid进行IAM权限调整,和帮助Lemur生成。

预测收视率

利用Python开发机器学习模型,来预测所有内容的受众规模、收视率和其他需求指标的核心。

Notebook

Netflix 是 Jupyter Notebook 的拥趸,使用 Python 为 Jupyter 服务器构建自定义扩展,允许工程师代表用户管理日志记录、归档、发布和克隆笔记本等任务。同时,通过不同的 Jupyter 内核为用户提供了多种风格的 Python,并使用 Python 管理这些内核规范的部署。

文中提到的库

  • Open Connect:https://openconnect.netflix.com/en/

  • bpython:https://bpython-interpreter.org/

  • nteract:https://nteract.io/

  • Spectator:https://github.com/Netflix/spectator-py

  • Security Monkey:https://github.com/Netflix/security_monkey

  • Bless:https://github.com/Netflix/bless

  • Repokid:https://github.com/Netflix/repokid

  • Lemur:https://github.com/Netflix/lemur

  • papermill:https://papermill.readthedocs.io/en/latest/

  • pygenie:https://github.com/Netflix/pygenie

  • scrapbook:https://nteract-scrapbook.readthedocs.io/en/latest/

  • PyPika:https://pypika.readthedocs.io/en/latest/

  • PyArrow:https://arrow.apache.org/docs/python/

  • RPy2:https://rpy2.readthedocs.io/en/version_2.8.x/

  • Plotly:https://plot.ly/

  • vmaf:https://github.com/Netflix/vmaf/blob/master/resource/doc/references.md

  • mezzfs:

    https://medium.com/netflix-techblog/mezzfs-mounting-object-storage-in-netflixs-media-processing-platform-cda01c446ba

  • setupmeta:https://pypi.org/project/setupmeta/

  • pickley:https://pypi.org/project/pickley/

整理自 buzzorange

回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「pybooks02」,立即获取 O'Reilly 出版社推出的免费 Python 相关电子书合集

回复关键词「书单02」,立即获取主页君整理的 10 本 Python 入门书的电子版



印度小伙写了套深度学习教程,Github上星标已经5000+

GitHub热榜第四!这套Python机器学习课,免费获取还易吸收

《流畅的 Python》到底好在哪?

如何系统化学习 Python ?

GitHub标星2.6万!Python算法新手入门大全

使用 Vue.js 和 Flask 实现全栈单页面应用

Python 实现一个自动化翻译和替换的工具

使用 Python 制作属于自己的 PDF 电子书

12步轻松搞定Python装饰器

200 行代码实现 2048 游戏

题图:pexels,CC0 授权。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/34246
 
495 次点击