HDFS 常用操作
(1) 啟動 Hadoop,在 HDFS 中建立使用者目錄“/user/hadoop”;

該指令中表示在HDFS中建立一個“/user/hadoop”目錄,“–mkdir”是建立目錄的操作,“-p”表示如果是多級目錄,則父目錄和子目錄一起建立,這裡“/user/hadoop”就是一個多級目錄,是以必須使用參數“-p”,否則會出錯。
(2) 在 Linux 系統的本地檔案系統的“/home/hadoop”目錄下建立一個文本檔案 test.txt,并在該檔案中随便輸入一些内容,然後上傳到 HDFS 的“/user/hadoop” 目錄下;
(3) 把 HDFS 中“/user/hadoop”目錄下的 test.txt 檔案,下載下傳到 Linux 系統的本地檔案系統中的“/home/hadoop/下載下傳”目錄下;
(4) 将HDFS中“/user/hadoop”目錄下的test.txt檔案的内容輸出到終端中進行顯示;
(5) 在 HDFS 中的“/user/hadoop”目錄下,建立子目錄 input,把 HDFS 中 “/user/hadoop”目錄下的 test.txt 檔案,複制到“/user/hadoop/input”目錄下;
(6) 删除HDFS中“/user/hadoop”目錄下的test.txt檔案,删除HDFS中“/user/hadoop” 目錄下的 input 子目錄及其子目錄下的所有内容。
Spark 讀取檔案系統的資料
1.首先進入spark-shell指令
2. 在 spark-shell 中讀取 Linux 系統本地檔案“/home/hadoop/test.txt”,然後統計出檔案的行數;
注意:加載HDFS檔案和本地檔案都是使用textFile,差別是添加字首(hdfs://和file://)進行辨別。
textFile.count() #統計結果顯示 1 行
3. 在 spark-shell 中讀取 HDFS 系統檔案“/user/hadoop/test.txt”(如果該檔案不存在,
請先建立),然後,統計出檔案的行數;
4. 編寫獨立應用程式,讀取 HDFS 系統檔案“/user/hadoop/test.txt”(如果該檔案不存在, 請先建立),然後,統計出檔案的行數;通過 sbt 工具将整個應用程式編譯打包成 JAR 包, 并将生成的 JAR 包通過 spark-submit 送出到 Spark 中運作指令。
首先輸入 :quit 指令退出spark-shell模式:
在終端中執行如下指令建立一個檔案夾 sparkapp3 作為應用程式根目錄:
在sparkapp3/src/main/scala下建立一個名為SimpleApp.scala的檔案
(vim sparkapp3/src/main/scala/SimpleApp.scala)
該程式依賴Spark API,是以我們需要通過sbt進行編譯打包。sparkapp3中建立檔案simple.sbt(vim ./sparkapp3/simple.sbt),添加内容如下,聲明該獨立應用程式的資訊以及與 Spark 的依賴關系
注意:檔案 simple.sbt 需要指明 Spark 和 Scala 的版本,如下圖所示
為保證 sbt 能正常運作,先執行如下指令檢查整個應用程式的檔案結構
接着,我們就可以通過代碼将整個應用程式打包成 JAR,使用sbt之前確定安裝了sbt
安裝sbt
https://www.scala-sbt.org/download.html下載下傳sbt-1.3.4.tgz安裝包
解壓縮,改配置等一系列請自行百度
安裝之後打包
代碼需要規範書寫,空格之類的不然會報錯
生成的 jar 包的位置為 /sparkapp3/target/scala-2.12/simple-project_2.12-1.0.jar
通過 spark-submit 運作程式
結果