Spark缓存的使用示例分析
发表于:2025-12-04 作者:千家信息网编辑
千家信息网最后更新 2025年12月04日,本篇内容介绍了"Spark缓存的使用示例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注:因为使
千家信息网最后更新 2025年12月04日Spark缓存的使用示例分析
本篇内容介绍了"Spark缓存的使用示例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
注:因为使用的是内部数据文件, 在这边就不公布出来了. 大家看看测试代码跟测试结果即可。
这次测试是在JupyterNotebook这种交互式的环境下测试的. 如果是直接的submit一个job, 可能结果不太一样。
测试步骤
初始化Spark
from pyspark.sql import SparkSession spark = SparkSession\ .builder\ .appName("Cache Demo")\ .master("spark://10.206.132.113:7077") \ .config('spark.driver.memory', '5g') \ .config('spark.executor.memory', '5g') \ .config("spark.cores.max", 20) \ .getOrCreate()分别读两个文件做测试, 并且其中一个使用Cache
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() # 对于***个dataframe进行cache.
注: 这两个数据文件分别是1月4日跟1月5日产生的. 大小非常接近, 都是3.1G.
为了防止Spark自己做了什么Cache影响实验, 在这里读取两个不同的数据文件.
计算时间:
import time def calc_timing(ds, app_name) : t1 = time.time() related = ds.filter("app_name = '%s'" % app_name) _1stRow = related.first() t2 = time.time() print "cost time:", t2 - t1测试结果:
calc_timing(ds1, "DrUnzip") # cost time: 13.3130679131 calc_timing(ds2, "DrUnzip") # cost time: 18.0472488403 calc_timing(ds1, "DrUnzip") # cost time: 0.868658065796 calc_timing(ds2, "DrUnzip") # cost time: 15.8150720596
可以看到:
对于DS1, 虽然调用了Cache ,但是因为没有真正的使用到, 所以***次进行filter操作还是很慢的
第二次使用DS1的时候, 因为有了缓存, 速度快了很多
相对的, DS2两次执行时间差别不大
如果进到Spark UI 查看具体每个Job的执行时间, 会发现, 只读取数据文件消耗的时间也就在15~20s.
因此可以猜想, Spark的DataFrame读取数据之后, 即使进行两个相同的操作, 消耗的时间也不能减少, 因为Spark 默认不会把DS放到内存之中.
"Spark缓存的使用示例分析"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
测试
数据
文件
时间
两个
缓存
结果
示例
分析
内容
更多
知识
消耗
不同
实用
相同
学有所成
接下来
不大
之中
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
面积网络安全知识有哪些
出库清单软件开发语言
工程相机软件开发案例
联想服务器电话
摩尔互联网科技干嘛的
怎样写网络安全自查报告
网络安全荣誉
windows ntp服务器配置
网络安全流量传感装置
常州本地软件开发
温州工业软件开发计划
网络安全 培训班心得
服务器数据可以删除
海口美安科技新城互联网总部
云服务器创建一个网站
如何确保服务器安全
每年举办网络安全宣传周
多区域投入产出数据库
数据库块过小
sql数据库全部占用内存
白云边酒业网络安全宣传
什么叫关闭数据库对象
飞鸽传书软件开发者
未能找到pppoe服务器
设置数据库密码注意的事项
radius数据库配置文件
c 怎么做数据库登录窗口
本科毕业学数据库条件
促进网络安全产业发展指导
大荒传奇与服务器连接当中