撰寫本書時Zeppelin,未提供binary版本,所以必須要自行編譯。
然而在zeppelin-0.5.6 已經提供binary版本,不需要自行編譯,請依照下列步驟安裝:
下載Zeppelin
在終端機,輸入下列指令
請下載zeppelin 0.5.6版本,不要下載zeppelin 0.6.0與0.6.1版本,筆者測試有一些問題,可能是Spark版本有相容問題
連線至 zeppelin網站下載 zeppelin-0.5.6-incubating-bin-all.tgz
http://zeppelin.apache.org/download.htmlUbuntu預設的下載目錄在: ~/下載
cd ~/下載 tar zxvf zeppelin-0.5.6-incubating-bin-all.tgzApache Zeppelin安裝
在終端機,輸入下列指令
sudo mv zeppelin-0.5.6-incubating-bin-all /usr/local/zeppelin sudo chown -R hduser:hduser /usr/local/zeppelin cd /usr/local/zeppelin llApache Zeppelin設定
Apache Zeppelin的設定檔,都是儲存在conf目錄,其中最主要是zeppelin-env.sh。在conf目錄有zeppelin-env.sh.template樣板檔案,您可以先複製樣板檔案再修改。 請在終端機輸入下列指令。
複製zeppelin-env.sh.template樣板檔案
cd /usr/local/zeppelin/conf/ ll cp zeppelin-env.sh.template zeppelin-env.sh編輯zeppelin-env.sh
sudo gedit /usr/local/zeppelin/conf/zeppelin-env.sh加入下列內容:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export SPARK_HOME=/usr/local/spark export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop export ZEPPELIN_INTP_JAVA_OPTS="-XX:PermSize=512M -XX:MaxPermSize=1024M"啟動Apache Zeppelin
在終端機,輸入下列指令 Step1 啟動Apache Zeppelin daemon
/usr/local/zeppelin/bin/zeppelin-daemon.sh startStep2 開啟Apache Zeppelin Web UI介面
瀏覽器連結至下列網址
http://localhost:8080/Step6 停止Apache Zeppelin daemon
在終端機,輸入下列指令
/usr/local/zeppelin/bin/zeppelin-daemon.sh stop19.6 使用Zeppelin執行Shell 命令
在終端機,輸入下列指令
Step1 下載並解壓縮資料檔
mkdir -p ~/workspace/zeppelin/data cd ~/workspace/zeppelin/data wget http://files.grouplens.org/datasets/movielens/ml-100k.zip unzip -j ml-100kStep3 列出ml-100k檔案清單
請在新的段落,輸入下列shell命令:
%sh ls -l ~/workspace/zeppelin/dataStep4 查看u.user
請在新的段落,輸入下列shell命令:
%sh head ~/workspace/zeppelin/data/u.user19.7 建立暫存資料表"UserTable"
請在新的段落,輸入spark程式碼
Step1 輸入spark程式碼
val userText= sc.textFile("file:/home/hduser/workspace/zeppelin/data/u.user") case class UserTable(id:String,age:String, gender:String, occupation : String, zipcode : String) val userRDD = userText.map(s=>s.split("\\|")).map( s=>UserTable(s(0),s(1),s(2),s(3),s(4))) userRDD.toDF().registerTempTable("UserTable") println("匯入:"+ userRDD.count+"筆")19.8 使用Zeppelin執行年齡統計Spark SQL
請在新的段落,輸入spark SQL
Step1 輸入年齡統計Spark SQL
%sql select age,count(*) counts from UserTable group by age order by age19.9 使用Zeppelin執行性別統計Spark SQL
請在新的段落,輸入spark SQL
Step1 輸入性別統計Spark SQL
%sql select gender,count(*) counts from UserTable group by gender19.10 依照職業統計
請在新的段落,輸入spark SQL
Step1 輸入職業統計Spark SQL
%sql select occupation,count(*) counts from UserTable group by occupation order by counts19.11 Spark SQL加入文字方塊輸入參數
請在新的段落,輸入spark SQL
Step1 輸入加入年齡參數Spark SQL
%sql select age,count(*) counts from UserTable where age>${minAge=20} and age<${maxAge=60} group by age order by age19.12 加入選項參數
請在新的段落,輸入spark SQL
Step1 輸入選項參數Spark SQL
%sql select age,count(*) counts from UserTable where gender="${gender=M,M|F}" group by age order by age19.13 Zeppelin在firefox瀏覽器使用的問題
在下列網址下載chrome
Step1 下載chrome
https://www.google.com.tw/chrome/browser/desktop/index.html19.14 同時顯示多個統計欄位
在下列網址下載chrome
Step2 輸入Spark SQL
%sql select age,gender,occupation, 1 counts from UserTable
以上內容節錄自這本書有詳細介紹:
Hadoop+Spark大數據巨量分析與機器學習整合開發實戰 http://www.books.com.tw/products/0010695285
沒有留言:
張貼留言