如何在Python中编写简单代码,并且速度超越Spark?( 三 )
\n \n
你可能会“说我是一个梦想家” 。 我是一个梦想家 , 但不是唯一的一个!本篇文章将证明如今可以使用Nuclio和RAPIDSlimg令以上设想成为现实 , 它们是由NVIDIA孵化的免费开源数据科学加速平台 。
\n \n过去几个月 , 有人将RAPIDS与Nuclio开源无服务器项目和Iguazio的PaaS集成在一起 。 现在 , 使用相同的Python代码会拥有更快的数据处理速度和可扩展性 , 并且由于采用无服务器方法 , 其操作开销可达到最低水平 。
\n \n本文将对同样广受欢迎的实时数据的用例进行演示 , 它们由基于Json的日志组成 。 本文将根据以上数据完成分析任务 , 并将聚合结果转储为压缩的Parquet格式 , 便于进一步的查询或机器学习训练 。 本文将研究批和实时流(是的 , 使用简单Python代码的实时流) 。 但开始之前 , 先进行总体概述 。
\n \n是什么导致Python既慢又无法扩展?
\n \n在小型数据集上使用pandas时 , 其性能表现不错 , 但这只发生在整个数据集适合内存且在pandas和NumPy层下使用已优化的C代码进行处理的情况下 。 处理大量数据包含集中的的IO操作、数据转换、数据拷贝等 , 拖慢了处理的速度 。 从本质上讲 , 臭名昭著的GIL 给Python带来了线程同步的困难 , 在处理复杂任务时非常低效 , 异步Python相对更好 , 但其开发复杂且无法解决固有的锁定问题 。
推荐阅读
- 小鱼人|如何在新赛季稳定上分?善于抓失误的小鱼人,值得认真练上一波
- 真女神转生5|梦幻西游:如何在商会开一个物品储备店
- 甘蔗|如何在Minecraft获得“水下空气”?大佬:一个甘蔗就能搞定!
- gk战队|英雄联盟情怀老玩家如何在手游中再现风采?玩好赵信就能轻松上分
- 热血传奇|热血传奇:如何在传奇中逐步积累优势?这些方法你了解吗?
- 手机游戏|英雄联盟手游:回城买装备的意义何在?浪费时间背后的战略意义
- mmo|mmo游戏再获新生?被判“死刑”的mmo,为何在2021年集体爆发
- ag战队|生存游戏内,危险角色的魅力何在?
- 地下城与勇士|DNF:“有军选军,无军选针!”时空手镯为何在版本末期逆袭?
- 红流|英雄联盟:唯一的版本真神——论红流战士如何在这个时代独占鳌头