日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大数据-09-Intellij idea 开发java程序操作HDFS

發(fā)布時(shí)間:2025/3/20 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大数据-09-Intellij idea 开发java程序操作HDFS 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

主要摘自 http://dblab.xmu.edu.cn/blog/290-2/

簡介

本指南介紹Hadoop分布式文件系統(tǒng)HDFS,并詳細(xì)指引讀者對HDFS文件系統(tǒng)的操作實(shí)踐。Hadoop分布式文件系統(tǒng)(Hadoop Distributed File System,HDFS)是Hadoop核心組件之一,如果已經(jīng)安裝了Hadoop,其中就已經(jīng)包含了HDFS組件,不需要另外安裝。

利用Java API與HDFS進(jìn)行交互

Hadoop不同的文件系統(tǒng)之間通過調(diào)用Java API進(jìn)行交互,上面介紹的Shell命令,本質(zhì)上就是Java API的應(yīng)用。下面提供了Hadoop官方的Hadoop API文檔,想要深入學(xué)習(xí)Hadoop,可以訪問如下網(wǎng)站,查看各個(gè)API的功能。
利用Java API進(jìn)行交互,需要利用軟件Eclipse編寫Java程序。

(一) 在Ubuntu中安裝Intellij idea

直接在官網(wǎng)下載試用版本ideaIU-2018.1.1.tar.gz。

(二)在idea創(chuàng)建項(xiàng)目

點(diǎn)擊創(chuàng)建新項(xiàng)目

選擇java項(xiàng)目, 如果在SDK未顯示1.8, 請點(diǎn)南new按鍵添加相應(yīng)SDK,默認(rèn)位置為/usr/lib/jvm/java-8-openjdk-amd64

在“Project name”后面輸入工程名稱“HDFSExample”,選中“Use default location”,讓這個(gè)Java工程的所有文件都保存到“/home/hadoop/HDFSExample”目錄下然后,點(diǎn)擊界面底部的“Next>”按鈕,進(jìn)入下一步的完成設(shè)置。

(三)為項(xiàng)目添加需要用到的JAR包

在File>Project Struecture 中添加引用JAR包

需要在這個(gè)界面中加載該Java工程所需要用到的JAR包,這些JAR包中包含了可以訪問HDFS的Java API。這些JAR包都位于Linux系統(tǒng)的Hadoop安裝目錄下,對于本教程而言,就是在“/usr/local/hadoop/share/hadoop”目錄下。點(diǎn)擊界面中按鈕,

為了編寫一個(gè)能夠與HDFS交互的Java應(yīng)用程序,一般需要向Java工程中添加以下JAR包:
(1)”/usr/local/hadoop/share/hadoop/common”目錄下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar;
(2)/usr/local/hadoop/share/hadoop/common/lib”目錄下的所有JAR包;
(3)“/usr/local/hadoop/share/hadoop/hdfs”目錄下的haoop-hdfs-2.7.1.jar和haoop-hdfs-nfs-2.7.1.jar;
(4)“/usr/local/hadoop/share/hadoop/hdfs/lib”目錄下的所有JAR包。
比如,如果要把“/usr/local/hadoop/share/hadoop/common”目錄下的hadoop-common-2.7.1.jar和haoop-nfs-2.7.1.jar添加到當(dāng)前的Java工程中。

(四)編寫Java應(yīng)用程序代碼

輸入新建的Java類文件的名稱,這里采用名稱“HDFSFileIfExist”,其他都可以采用默認(rèn)設(shè)置,然后,點(diǎn)擊界面右下角“OK”按鈕,

創(chuàng)建了一個(gè)名為“HDFSFileIfExist.java”的源代碼文件,請?jiān)谠撐募休斎胍韵麓a:

import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HDFSFileIfExist {public static void main(String[] args){try{String fileName = "test";Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://192.168.3.236:9000"); // 這里根據(jù)自己實(shí)際情況調(diào)整conf.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");FileSystem fs = FileSystem.get(conf);if(fs.exists(new Path(fileName))){System.out.println("文件存在");}else{System.out.println("文件不存在");}}catch (Exception e){e.printStackTrace();}} }

(五)編譯運(yùn)行程序

在開始編譯運(yùn)行程序之前,請一定確保Hadoop已經(jīng)啟動(dòng)運(yùn)行,如果還沒有啟動(dòng),需要打開一個(gè)Linux終端,輸入以下命令啟動(dòng)Hadoop:

cd /usr/local/hadoop ./sbin/start-dfs.sh

在Project窗口中,選中HDFSFileIfExist類,右鍵選擇run,即可看到結(jié)果。 上java代碼中,我們設(shè)置的判斷HDFS中是否含有test名字的文件,可以根據(jù)實(shí)際情況作調(diào)整。

(六)應(yīng)用程序的部署

下面介紹如何把Java應(yīng)用程序生成JAR包,部署到Hadoop平臺(tái)上運(yùn)行。首先,在Hadoop安裝目錄下新建一個(gè)名稱為myapp的目錄,用來存放我們自己編寫的Hadoop應(yīng)用程序,可以在Linux的終端中執(zhí)行如下命令:

cd /usr/local/hadoop mkdir myapp

然后,請?jiān)贗dea工作界面左側(cè)的File > Project Structure,出現(xiàn)如下面示后,再作相應(yīng)選擇:

然后選擇要導(dǎo)出的類

然后選刪除其它依賴類,只留下自己的代碼即可


選擇菜單欄的Build,選擇Build Artifacts。
然后測試程序

cp out/artifacts/HDFSExample_jar/HDFSExample.jar /usr/local/hadoop/./bin/hadoop jar HDFSExample.jar

我這里輸出結(jié)果是

文件不存在

如果在上面導(dǎo)出設(shè)置時(shí),不刪除依賴類,則用下面的方法也可以運(yùn)行:

java -jar ./HDFSExample.jar

得到一樣的結(jié)果。

總結(jié)

以上是生活随笔為你收集整理的大数据-09-Intellij idea 开发java程序操作HDFS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。