成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

一個Spark緩存的使用示例

大數據 Spark
之前一直不是非常理解Spark的緩存應該如何使用. 今天在使用的時候, 為了提高性能, 嘗試使用了一下Cache, 并收到了明顯的效果。關于Cache的一些理論介紹, 網上已經很多了. 但是貌似也沒有一個簡單的例子說明。

之前一直不是非常理解Spark的緩存應該如何使用. 今天在使用的時候, 為了提高性能, 嘗試使用了一下Cache, 并收到了明顯的效果。

關于Cache的一些理論介紹, 網上已經很多了. 但是貌似也沒有一個簡單的例子說明。

注:因為使用的是內部數據文件, 在這邊就不公布出來了. 大家看看測試代碼跟測試結果即可。

這次測試是在JupyterNotebook這種交互式的環境下測試的. 如果是直接的submit一個job, 可能結果不太一樣。

[[219983]]

測試步驟

初始化Spark

 

  1. from pyspark.sql import SparkSession  
  2. spark = SparkSession\  
  3. .builder\  
  4. .appName("Cache Demo")\  
  5. .master("spark://10.206.132.113:7077") \  
  6. .config('spark.driver.memory''5g') \  
  7. .config('spark.executor.memory''5g') \  
  8. .config("spark.cores.max", 20) \  
  9. .getOrCreate() 

分別讀兩個文件做測試, 并且其中一個使用Cache

 

  1. ds1 = spark.read.json(os.path.join(data_path, "data.2018-01-04"))  
  2. ds2 = spark.read.json(os.path.join(data_path, "data.2018-01-05"))  
  3. ds1.cache() # 對于***個dataframe進行cache. 

注: 這兩個數據文件分別是1月4日跟1月5日產生的. 大小非常接近, 都是3.1G.

為了防止Spark自己做了什么Cache影響實驗, 在這里讀取兩個不同的數據文件.

計算時間:

 

  1. import time  
  2. def calc_timing(ds, app_name) :  
  3. t1 = time.time()  
  4. related = ds.filter("app_name = '%s'" % app_name)  
  5. _1stRow = related.first()  
  6. t2 = time.time()  
  7. print "cost time:", t2 - t1 

測試結果:

 

  1. calc_timing(ds1, "DrUnzip") # cost time: 13.3130679131  
  2. calc_timing(ds2, "DrUnzip") # cost time: 18.0472488403  
  3. calc_timing(ds1, "DrUnzip") # cost time: 0.868658065796  
  4. calc_timing(ds2, "DrUnzip") # cost time: 15.8150720596 

可以看到:

  • 對于DS1, 雖然調用了Cache ,但是因為沒有真正的使用到, 所以***次進行filter操作還是很慢的
  • 第二次使用DS1的時候, 因為有了緩存, 速度快了很多
  • 相對的, DS2兩次執行時間差別不大
  • 如果進到Spark UI 查看具體每個Job的執行時間, 會發現, 只讀取數據文件消耗的時間也就在15~20s.

因此可以猜想, Spark的DataFrame讀取數據之后, 即使進行兩個相同的操作, 消耗的時間也不能減少, 因為Spark 默認不會把DS放到內存之中.

責任編輯:未麗燕 來源: 網絡大數據
相關推薦

2011-08-15 11:24:46

SQL Server事務

2019-11-07 14:00:36

MySQL數據庫SQL

2017-08-17 16:37:59

MySQL數據遷移

2021-02-22 17:17:38

Proxy緩存代碼

2022-08-18 20:02:04

JSLRU緩存

2012-02-01 14:12:55

iOS本地緩存機制

2024-09-09 17:06:32

2018-01-02 10:36:29

Linux命令Cheat

2018-03-23 10:00:34

PythonTensorFlow神經網絡

2022-02-22 11:12:38

2013-09-11 16:02:00

Spark分布式計算系統

2024-04-09 09:56:52

多層緩存架構Instagram

2018-05-28 08:54:45

SparkRDD Cache緩存

2015-01-20 13:46:31

Java EEDockerDocker部署

2024-03-22 08:51:36

分庫分表項目

2025-03-03 07:00:00

2012-04-19 17:42:46

Titanium布局

2016-09-26 17:26:20

2020-08-27 11:39:05

JavaRESTful Web編程語言

2019-08-01 08:36:51

緩存系統并發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩中文字幕av | 亚洲成人一区二区 | 久久一起草 | 久久久久久久国产精品影院 | 在线视频一区二区 | 美日韩中文字幕 | 欧美在线国产精品 | 男女羞羞视频在线观看 | 日韩欧美视频在线 | 国产成人综合亚洲欧美94在线 | 国产成人综合久久 | 精品99爱视频在线观看 | 在线一区二区三区 | 蜜臀久久99精品久久久久野外 | 亚洲精品视频免费观看 | 国产精品99视频 | 伊人久久大香线 | www.国产精品| h片免费看 | 亚洲一区二区三区视频 | 亚洲国产成人av好男人在线观看 | 久久新 | 亚洲一区二区视频 | 粉嫩粉嫩芽的虎白女18在线视频 | 九色在线观看 | 色综合久 | 国产高清在线观看 | 91精品国产色综合久久 | 韩日精品一区 | 成人激情视频免费在线观看 | 爱操影视 | 欧洲妇女成人淫片aaa视频 | 精品亚洲一区二区三区 | 午夜播放器在线观看 | 3p视频在线观看 | 国产午夜精品一区二区三区嫩草 | 国产成人精品久久久 | 欧美在线视频网站 | 亚洲精品一区二区网址 | 视频一区在线播放 | 91精品久久 |