Pyspark實例——Spark On YARN將HDFS的數據寫入Redis
03-06
Spark的優勢在於內存計算,然而在計算中難免會用到一些元數據或中間數據,有的存在關係型資料庫中, Redis基於內存的讀寫則可以完美解決此類問題。在Pyspark計算的時候如何將數據 寫入Redis中,除了官方的英文文檔,相關的介紹不多。下面介紹基於Yarn的Pypark如何與Redis交互。
首先把redis包引入工程,這樣就不需要在集群里每台機器上安裝redis客戶端了。
$pip3 install redis
$cd /usr/local/lib/python3.4/dist-packages
$zip -r redis.zip redis/*
$hadoop fs -put redis.zip /user/data/
然後就可以在代碼里使用 addPyFile載入redis.zip了。
運行:
$SPARK_HOME/bin/spark-submit
--conf spark.yarn.submit.waitAppCompletion=true
--master yarn-cluster
--num-executors 4
--driver-memory 32G
--executor-memory 32G
--executor-cores 4
--queue root.default
/opt/spark_redis.py
推薦閱讀: