Pyspark實例-Spark On YARN將HDFS的數據寫入Redis

NoSQL Spark Redis HDFS 中谷視覺 中谷視覺 2017-08-26

Spark的優勢在於內存計算,然而在計算中難免會用到一些元數據或中間數據,有的存在關係型數據庫中, Redis基於內存的讀寫則可以完美解決此類問題。在Pyspark計算的時候如何將數據 寫入Redis中,除了官方的英文文檔,相關的介紹不多。下面介紹基於Yarn的Pypark如何與Redis交互。

Pyspark實例-Spark On YARN將HDFS的數據寫入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了。

Pyspark實例-Spark On YARN將HDFS的數據寫入Redis

運行:

$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

相關推薦

推薦中...