雲端計算 參考書籍:Python+Spark 2.0+Hadoop 機器學習與大數據分析實戰 http://pythonsparkhadoop.blogspot.tw/
Python Spark 2.0 介紹與 安裝 在IPython Notebook 執 行Python Spark 程式
1. Python Spark 2.0 介紹與 安裝
1.安裝scala 2.安裝Spark 3.啟動python spark互動介面 4.建立測試文字檔 5.本機執行pyspark 程式 6.在Hadoop YARN執行pyspark 7.建置Spark standalone cluster執行環境 8.Spark Web UI介面
1.安裝scala Spark支援多種語言:Scala、Python、Java Spark本身是用Scala語言開發的,所以必須先安裝Scala Scala是一種函數是語言,也是一種純物件導向的語言,所有的東西都是物件,而所有的操 作都是方法。
1.安裝scala #下載安裝 Scala wget http://www.scala-lang.org/files/archive/scala-2.11.6.tgz tar xvf scala-2.11.6.tgz sudo mv scala-2.11.6 /usr/local/scala #Scala使用者環境變數設定 sudo gedit ~/.bashrc #輸入下列內容 export SCALA_HOME=/usr/local/scala export PATH=$PATH:$SCALA_HOME/bin #使讓~/.bashrc修改生效 source ~/.bashrc
1.安裝scala(測試)
2.安裝Spark #下載安裝 Spark wget http://apache.stu.edu.tw/spark/spark-2.0.0/spark-2.0.0-bin-hadoop2.6.tgz tar zxf spark-2.0.0-bin-hadoop2.6.tgz sudo mv spark-2.0.0-bin-hadoop2.6 /usr/local/spark/ #Spark使用者環境變數設定 sudo gedit ~/.bashrc #輸入下列內容 export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin #使讓~/.bashrc修改生效 source ~/.bashrc
3.啟動python spark互動介面
4.建立測試文字檔 在本地端建立資料夾 $ mkdir -p ~/wordcount/input 然後複製檔案 $ cp /usr/local/hadoop/LICENSE.txt ~/wordcount/input $ ll ~/wordcount/input 進入master 虛擬機器,啟動Hadoop Multi-Node Cluster $ start-all.sh 上傳測試檔案至HDFS 目錄 $ hadoop fs -mkdir -p /user/hadoop/wordcount/input $ cd ~/wordcount/input $ hadoop fs -copyFromLocal LICENSE.txt /user/hadoop/wordcount/input $ hadoop fs -ls /user/hadoop/wordcount/input
5.本機執行pyspark 程式
6.在Hadoop YARN執行pyspark
在Hadoop Web 介面可以查看PySparkShell App
7.建置Spark standalone cluster執行環境 #自樣板檔(template )複製spark-env.sh cp /usr/local/spark/conf/spark-env.sh.template /usr/local/spark/conf/spark-env.sh #設定spark-env.sh sudo gedit /usr/local/spark/conf/spark-env.sh #輸入下列內容: export SPARK_MASTER_IP=master #設定master的IP名稱 export SPARK_WORKER_CORES=1 #設定每個Worker使用的CPU核心 export SPARK_WORKER_MEMORY=512m #設定每個Worker使用記憶體 export SPARK_EXECUTOR_INSTANCES=4 #設定執行個體數
將spark程式複製到data1、data2和data3 ssh data1 sudo mkdir /usr/local/spark sudo chown ubuntu:ubuntu /usr/local/spark #sudo chown hadoop:hadoop /usr/local/spark exit sudo scp -r /usr/local/spark ubuntu@data1:/usr/local #sudo scp -r /usr/local/spark hadoop@data1:/usr/local
編輯slaves 檔案 設定Spark Standalone cluster有哪些伺服器 $sudo gedit /usr/local/spark/conf/slaves 輸入下列內容: data1 data2 data3
啟動Spark standalone cluster
在Spark Standalone 執行pyspark
8.Spark Web UI介面
8.Spark Web UI介面
8.Spark Web UI介面
2.在IPython Notebook 執 行Python Spark 程式
1.安裝Anaconda 2.在IPython Notebook使用Spark 3.使用IPython Notebook在hadoop yarnclient模式執行 4.使用IPython Notebook在Spark Stand Alone模式執行
安裝Anaconda套件時,同時會安裝:Ipython Notebook、NumPy、ScoPy、Matplotlib這幾個 用於數據分析、科學計算上的常用套件。 Ipython Notebook具備互動式介面,可以在Web介面輸入Python命令後,立刻看到結果。 還可以將資料分析的過程,執行後的命令與結果,存成記事本,下次可以開啟記事本,重 新執行這些面令。
1.安裝Anaconda #下載Anaconda2-2.5.0-Linux-x86_64.sh wget https://repo.continuum.io/archive/Anaconda2-2.5.0-Linux-x86_64.sh #安裝Anaconda bash Anaconda2-2.5.0-Linux-x86_64.sh -b #編輯~/.bashrc 加入模組路徑 #修改~/.bashrc sudo gedit ~/.bashrc #輸入下列內容 export PATH=/home/hduser/anaconda2/bin:$PATH export ANACONDA_PATH=/home/hduser/anaconda2 export PYSPARK_DRIVER_PYTHON=$ANACONDA_PATH/bin/ipython export PYSPARK_PYTHON=$ANACONDA_PATH/bin/python #使讓~/.bashrc修改生效 source ~/.bashrc #查看python 版本 python --version
#查看python 版本 python --version
在data1、data2、data3安裝Anaconda
2.在IPython Notebook使用Spark #建立ipynotebook 工作目錄 mkdir -p ~/pythonwork/ipynotebook cd ~/pythonwork/ipynotebook #在IPython Notebook 介面執行pyspark PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" pyspark
開啟IPython Notebook 介面
讀取檔案 執行後顯示檔案筆數
3.使用IPython Notebook 在hadoop yarn client模式執行 start-all.sh cd ~/pythonwork/ipynotebook PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop MASTER=yarn-client pyspark
啟動Hadoop Multi-Node Cluster
4.使用IPython Notebook 在Spark Stand Alone模式執行 #啟動Spark Stand Alone cluster /usr/local/spark/sbin/start-all.sh #啟動IPython Notebook 在Spark Stand Alone 模式 cd ~/pythonwork/ipynotebook PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" MASTER=spark://master:7077 pyspark --num-executors 1 --total-executor-cores 2 --executor-memory 512m #查看Spark Standalone Web UI 介面 http://master:8080/
Run程式碼
等待
結果
到Hadoop Web介面查看