spark缓存教程(spark缓存更新)

技术Spark缓存的使用示例分析本篇内容介绍了“Spark缓存的使用示例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

本文介绍了“火花缓存使用实例分析”的相关知识。很多人在实际的案件操作过程中都会遇到这样的困难。接下来,让边肖带领大家学习如何应对这些情况!希望大家认真阅读,学点东西!

因为注:使用内部数据文件,所以不会在这里公布。看看测试代码和测试结果就知道了。

本次测试在JupyterNotebook的交互环境下进行。如果直接提交作业,结果可能会不一样。

测试步骤

初始化Spark

from py spark . sqlimportsparksessions park=sparksessions \。构建器\。appName('CacheDemo')\。主控形状('迷你图://10 . 206 . 132 . 113:7077 ')\。config ('spark.driver.memory ',' 5g') \。config ('spark.executor.memory ',' 5g') \。config ('spark.cores.max ',20) \。getorcreate()分别读取两个文件进行测试,其中

DS1=spark . read . JSON(OS . path . join(data _ path,' data . 2018-01-04 '))ds2=spark . read . JSON(OS . path . join(data _ path,data . 2018-01-05 '))DS1 . Cache()# Cache * * data frame。注:的两个数据文件分别生成于1月4日和1月5日。尺寸很接近,都是3.1G。

为了防止Spark自己的Cache影响实验,在这里读取两个不同的数据文件。

计算时间:

importtimedefcalc_timing(ds,app _ name): t1=time . time()related=ds . filter(' app _ name=' % s ' ' % app _ name)_ 1 strow=related . first()T2=time . time()print ' cost time : ',T2-t1测试结果:

calc_timing(ds1,' DunZIP ')# cost time :13 . 3130679131 calc _ timing(ds2,' DunZIP ')# cost time :18 . 0472488403 calc _ timing(DS1,' DunZIP ')# cost time 33600 . 86868065796

对于DS1,虽然调用了缓存,但在* * *次执行过滤操作仍然非常慢,因为它没有被真正使用。

第二次使用DS1时,由于缓存的缘故,速度要快得多。

相比之下,DS2的两次行刑时间差别不大。

如果去Spark UI查看每个Job的执行时间,会发现读取数据文件只需要15~20s。

因此可以猜测,Spark的DataFrame读取数据后,即使执行两次相同的操作,所消耗的时间也无法减少,因为Spark默认不会将ds放入内存。

“火花缓存使用示例分析”到此结束。感谢阅读。如果你想了解更多的行业,可以关注网站。边肖将为您输出更多高质量的实用文章!

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/145793.html

(0)

相关推荐

  • vx works获取时间(vxworks中的任务是干嘛的)

    技术vxworks中Event是什么小编给大家分享一下vxworks中Event是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Event

    攻略 2021年12月22日
  • 如何使用VBS遍历文件或文件夹路径输入文件的所有绝对路径

    技术如何使用VBS遍历文件或文件夹路径输入文件的所有绝对路径这篇文章给大家分享的是有关如何使用VBS遍历文件或文件夹路径输入文件的所有绝对路径的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。源码

    攻略 2021年11月1日
  • Confluence怎么扩展内存

    技术Confluence怎么扩展内存这篇文章主要介绍了Confluence怎么扩展内存,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。背景:Confluen

    攻略 2021年11月17日
  • 怎么用Gonimo创建一个免费的婴儿监视系统

    技术怎么用Gonimo创建一个免费的婴儿监视系统这篇文章给大家分享的是有关怎么用Gonimo创建一个免费的婴儿监视系统的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。开始将您的设备转换为婴儿监视

    攻略 2021年10月26日
  • 缓存层与数据库层数据同步

    技术缓存层与数据库层数据同步 缓存层与数据库层数据同步缓存层与数据库层数据同步问题
    在实际的业务开发中,为了避免大量请求直接操作数据库,我们会用redis做一个缓存层,用户的数据库请求先在redis中查

    礼包 2021年11月1日
  • 如何避免Mysql的mysql-bin文件的坑

    技术如何避免Mysql的mysql-bin文件的坑这篇文章将为大家详细讲解有关如何避免Mysql的mysql-bin文件的坑,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

    攻略 2021年10月25日