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程式設計
- Hadoop實踐之Python(一)HadoopPython
- Go程式設計實踐Go程式設計
- 高效前端程式設計實踐前端程式設計
- 函數語言程式設計入門實踐(一)函數程式設計
- Java併發程式設計實踐Java程式設計
- framebuffer應用程式設計實踐程式設計
- Golang 併發程式設計實踐Golang程式設計
- Python程式設計規範+最佳實踐Python程式設計
- 詞頻統計任務程式設計實踐程式設計
- 實驗 2 Scala 程式設計初級實踐程式設計
- Python專案實戰(一)《Python程式設計 從入門到實踐》Python程式設計
- 《Python程式設計:從入門到實踐》Python程式設計
- Laravel最佳實踐–事件驅動程式設計Laravel事件程式設計
- Java併發程式設計實踐-this溢位Java程式設計
- JAVA併發程式設計實踐 下載Java程式設計
- GO語言泛型程式設計實踐Go泛型程式設計
- 函數語言程式設計最佳實踐函數程式設計
- 如何培養良好的程式設計實踐程式設計
- Laravel 最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- Laravel最佳實踐 -- 事件驅動程式設計Laravel事件程式設計
- 關卡設計實踐經驗總結:一種開展設計實踐的思考框架框架
- Java併發程式設計 - 第十一章 Java併發程式設計實踐Java程式設計
- C#非同步程式設計:原理與實踐C#非同步程式設計
- 程式設計師職業規劃-實踐篇程式設計師
- 面向介面程式設計實踐之aspnetcoreapi的抽象程式設計NetCoreAPI抽象
- 貝殼_程式設計實踐_銀行系統程式設計
- Java程式設計師的八個最佳實踐Java程式設計師
- [04] C# Alloc Free程式設計之實踐C#程式設計
- 程式設計實踐(Pandas)綜合練習1程式設計
- 程式設計實踐考試的入門模板程式設計
- Python 程式設計從入門到實踐5Python程式設計
- python核心程式設計:入門Python程式設計的8個實踐性建議Python程式設計
- 一些通過SAPABAP程式碼審查得出的ABAP程式設計最佳實踐程式設計
- Python 高階程式設計:深入探索高階程式碼實踐Python程式設計
- Sourcery - Swift超程式設計實踐,告別樣板程式碼Swift程式設計
- [01] C#網路程式設計的最佳實踐C#程式設計
- 領域驅動設計最佳實踐--程式碼篇