hadoop程式設計實踐(一)
Hadoop操作基礎與IDE環境配置。
Hadoop操作
目錄操作
-
在操作之前,需要在hadoop根目錄下建立與Linux使用者同名的user目錄
./bin/hdfs dfs -mkdir -p /user/hadoop
-
之後,所有的檔案都預設放入這個目錄下面,很多命令與Linux命令一致,比如檢視當前資料夾:
-
這個
input
是這樣建立的:./bin/hfs dfs -mkdir input
-
若
/input
,表示在HDFS的根目錄建立input
目錄
檔案操作
本地->Hadoop
-
將本地檔案移動到hadoop的input資料夾下:
-
檢視Hadoop的input資料夾下的檔案:
Hadoop->本地
-
同時,也可以將Hadoop上的檔案下載到本地:
Hadoop之間
-
在Hadoop的檔案之間進行傳輸,與Linux上檔案傳輸無異
-
注意,要使用
-cp
命令,一定要確保目標資料夾存在:
配置IDE環境
下載IDEA
-
首先在官網下載IDEA到
Download
: -
然後執行解壓命令,解壓到
/usr/local
sudo tar -xvf ideaIU-2018.2.4.tar.gz -C /usr/local
-
進入該目錄,執行
idea.sh
,進行安裝:
匯入依賴包
/usr/local/hadoop/share/hadoop/common
目錄下的:hadoop-common-xxxx.jar
hadoop-nfs-xxx.jar
/usr/local/hadoop/share/hadoop/hdfs/hadoop-hdfs-client.xx.jar
(3.xx版本需要新加入)/usr/local/hadoop/share/hadoop/hdfs
目錄下:hadoop-hdfs-xxx.jar
hadoop-hdfs-nfs-xxx.jar
usr/local/hadoop/share/hadoop/common/lib
目錄下的所有JAR包/usr/local/hadoop/share/hadoop/hdfs/lib
目錄下的所有JAR包
執行Hadoop檔案
測試檔案
以下檔案用於測試HDFS中是否存在一個檔案。
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
public class HDFSFileExist {
public static void main(String[] args){
try {
String fileName = "test";
Configuration conf = new Configuration();
conf.set("fs.defaultFS","hdfs://localhost:9000");
conf.set("fs.hdfs.impl","org.apache.hadoop.hdfs.DistributedFileSystem");
FileSystem fs = FileSystem.get(conf);
if(fs.exists(new Path(fileName))){
System.out.println("file exist!");
}else{
System.out.println("file not exist");
}
}catch (Exception e){
e.printStackTrace();
}
}
}
這裡,需要檢測的檔名稱問test
,沒有給出路徑全稱,則表示採用了相對路徑,就是當前登入Linux系統的使用者Hadoop
,在對應的目錄下是否存在test
,也就是/usr/hadoop
目錄下是否存在test檔案。
結果
在IDEA
中直接執行,可得到如下結果:
將專案打包成JAR包
-
在
IDEA
中,右鍵專案,選擇open module setting
,進入Artifact
,點+
號: -
選擇
with dependencied
,新建一個: -
選擇
Main class
,其餘預設 -
然後build artifact:
-
build之後,在對應資料夾中找到打包的JAR包:
-
在本地嘗試是否打包成功:
出現如圖結果就表示成功!
相關文章
- hadoop叢集搭建及程式設計實踐Hadoop程式設計
- Go程式設計實踐Go程式設計
- 高效前端程式設計實踐前端程式設計
- 函數語言程式設計入門實踐(一)函數程式設計
- Hadoop實踐之Python(一)HadoopPython
- framebuffer應用程式設計實踐程式設計
- Java併發程式設計實踐Java程式設計
- Golang 併發程式設計實踐Golang程式設計
- JS程式設計實踐指導JS程式設計
- 非同步程式設計最佳實踐非同步程式設計
- jQuery程式設計的最佳實踐jQuery程式設計
- C 程式設計最佳實踐(轉)程式設計
- Bash 優良程式設計實踐程式設計
- Android混合程式設計:WebView實踐Android程式設計WebView
- go 程式設計師的最佳實踐Go程式設計師
- PHP安全程式設計最佳實踐PHP程式設計
- 高效能JavaScript 程式設計實踐JavaScript程式設計
- 深入實踐c++模板程式設計C++程式設計
- C++程式設計最佳實踐(轉)C++程式設計
- 詞頻統計任務程式設計實踐程式設計
- 實驗 2 Scala 程式設計初級實踐程式設計
- 函數語言程式設計最佳實踐函數程式設計
- 如何培養良好的程式設計實踐程式設計
- Laravel最佳實踐–事件驅動程式設計Laravel事件程式設計
- Java併發程式設計實踐-this溢位Java程式設計
- GO語言泛型程式設計實踐Go泛型程式設計
- JAVA併發程式設計實踐 下載Java程式設計
- Laravel 最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- 程式設計實踐(Pandas)綜合練習1程式設計
- Laravel最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- C++非同步程式設計最佳實踐C++非同步程式設計
- Python程式設計規範+最佳實踐Python程式設計
- STL程式設計實踐一:謹慎使用下標運算子 (轉)程式設計
- 關卡設計實踐經驗總結:一種開展設計實踐的思考框架框架
- hadoop實踐總結Hadoop
- Java併發程式設計 - 第十一章 Java併發程式設計實踐Java程式設計
- 《Python程式設計:從入門到實踐》Python程式設計
- Java程式設計師的八個最佳實踐Java程式設計師