如何在Python中编写简单代码,并且速度超越Spark?( 七 )

\n \n

结合使用Nuclio与RAPIDS , 基于Python流处理获得GPU加速 , 最终实现完美蜕变 。 以下代码与批处理案例别无二异 , 本文只是将其置于一个函数处理程序中 , 并将传入的消息收集到更大的批中以减少GPU调用 。

\n \n \n

\n \n \n

可以使用HTTP或Kafka触发器测试同一个函数:在两种情况下 , Nuclio都将处理并行性 , 并将流分区划分给多个工作人员 , 无需任何额外开发工作 。 本文测试的设置是使用3节点Kafka集群和单个Nuclio函数进程(在具有一个NVIDIA T4的双插槽Intel服务器上) 。 本文设法处理638 MB / s , 比编写自己的Python Kafka客户端快30倍 , 并且它可以自动扩展以处理任何数量的流量 。 值得一提的是 , 所使用Python代码短小而简单!

\n \n

在测试中 , 笔者注意到GPU未充分利用 , 这意味着可以对数据进行更复杂的计算(连接、机器学习预测、转换等) , 同时保持相同的性能水平 。

\n \n

那么 , 也就是以更少的开发获得更快的性能 , 但无服务器解决方案的真正好处在于“无服务器” 。 使用相同的代码 , 在Notebook中进行开发 或选用你喜欢的IDE , 并在一个命令中对其进行构建、集装箱化并运送到有完整检测功能、已安全加固的的Kubernetes集群(日志、监控、自动缩放......) 。

推荐阅读