使用Spark脚本转换为Facebook的自定义应用提供支持

下载幻灯片

脚本转换是Facebook上Apache Spark的一个重要且不断增长的用例。Spark的脚本转换允许用户直接从SQL中运行自定义脚本和二进制文件,并作为将Facebook的自定义业务逻辑与现有数据管道拼接的重要手段。

与Spark SQL + udf一起,我们越来越多的自定义管道利用Spark的脚本转换操作符来运行用户提供的二进制应用程序,如索引、并行训练和大规模推断。从Spark执行器生成自定义进程给生产带来了新的挑战,包括外部资源分配/管理、结构化数据序列化和外部进程监控。

在本节课中,我们将讨论Spark SQL(和资源管理器)的改进,以支持运行可靠和高性能的脚本转换管道。这包括:
1) cgroup v2容器的CPU,内存和IO强制;
2)将jail转换为进程名称空间管理;
3)支持以行格式分隔的SerDe中的复杂类型,
4)协议缓冲区,用于快速高效的结构化数据序列化。最后,我们将分享我们的成果、经验教训和未来方向(例如,转换管道资源超额认购)。

试着砖
查看更多Spark + AI欧洲峰会2019视频


«回来
关于Abdulrahman Alfozan

脸谱网

Abdulrahman Alfozan是Facebook数据平台团队的成员,他致力于构建bob体育客户端下载和扩展Apache Spark以提供分布式计算服务。Abdul对大规模分布式系统充满热情,他的主要关注点是使数据科学家和数据工程师在使用Apache Spark时更加高效和富有成效。阿卜杜勒在麻省理工学院学习计算机科学和工程。