Spark缓存的使用示例分析
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,本篇内容介绍了"Spark缓存的使用示例分析"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!注:因为使
千家信息网最后更新 2025年02月02日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安全错误
数据库的锁怎样保障安全
视频服务器系统破解版
企业质量信用数据库系统
ibmz15系列服务器
西安软件开发什么学校好
数据库修改视图使用
视易峰云服务器授权到期怎么办
数据库日志在c盘哪里
服务器文件管理工具有哪些
数据库的安全性如何控制
美国办公室网络安全系统
第七届陕西省网络安全题
基础地理信息数据库包括哪些图层
2台服务器做集群
宜章学计算机软件开发学费
三维作图软件开发
dna数据库比对快吗
hive数据库和表的操作
镇党委政府网络安全计划
停车场收费管理数据库
字节跳动网络技术工资
数据库表的设计都考虑哪些
张江it软件开发企业
网约车平台的数据库
疆内手机软件开发公司
涉密网络安全保护措施
软件开发前期流程
服务器管理器中搭建服务器
genecards数据库
停车场收费管理数据库
evga服务器