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)

相关推荐

  • 饮料瓶,饮料瓶为什么是圆柱形的

    技术饮料瓶,饮料瓶为什么是圆柱形的1.从安全角度考虑饮料瓶,圆柱体没有凸起部分,由于酒瓶是用玻璃制成,所以很容易造成意外伤害,做成圆柱体,会使整体比较圆滑,不容易划伤人。2.从容量方面考虑,当高度一定时,底面积是圆的物体

    生活 2021年10月21日
  • rocketmq可视化界面讲解(rocket可视化报表)

    技术如何进行ROCKET的数据可视化如何进行ROCKET的数据可视化,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。图形化操作,布局灵活,所见

    攻略 2021年12月24日
  • MySQL是如何保证数据不丢的

    技术MySQL是如何保证数据不丢的本篇内容主要讲解“MySQL是如何保证数据不丢的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL是如何保证数据不丢的”吧!

    攻略 2021年12月8日
  • Javascript对象原型是什么

    技术Javascript对象原型是什么本篇内容主要讲解“Javascript对象原型是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Javascript对象原型是什么”吧

    攻略 2021年11月20日
  • iOS中NSPredicate谓词的使用方法是什么

    技术iOS中NSPredicate谓词的使用方法是什么本篇内容介绍了“iOS中NSPredicate谓词的使用方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处

    攻略 2021年11月4日
  • 如何监听Oracle

    技术如何监听Oracle这篇文章将为大家详细讲解有关如何监听Oracle,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Oracle 监听一:没有listener.ora监听文件监听文件

    攻略 2021年12月1日