国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

實驗2熟悉常用的HDFS操作

這篇具有很好參考價值的文章主要介紹了實驗2熟悉常用的HDFS操作。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1.實驗?zāi)康?/h2>

(1)理解HDFS在Hadoop體系結(jié)構(gòu)中的角色;

(2)熟練使用HDFS操作常用的Shell命令;

(3)熟悉HDFS操作常用的Java API。

2. 實驗平臺

(1)操作系統(tǒng):Linux;

(2)Hadoop版本:2.7.4 ;

(3)JDK版本1.8;

(4)Java IDE:eclipse ?。

3. 實驗步驟

(一)編程實現(xiàn)以下功能,并利用Hadoop提供的Shell命令完成相同任務(wù):

(1)向HDFS中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,則由用戶來指定是追加到原有文件末尾還是覆蓋原有的文件

/**
	 * 向HDFS中上傳任意文本文件
	 * 如果指定的文件在 HDFS 中已經(jīng)存在 
	 * 由用戶指定是追加到原有文件末尾還是覆蓋原有的文件
	 * @param fileSystem
	 * @param srcPath    本地文件地址
	 * @param desPath    HDFS文件地址
	 * @author yangd
	 */
	@Test
	private static void test1(FileSystem fileSystem, Path srcPath, Path desPath) {
		try {
			if (fileSystem.exists(new Path("/a/test.txt"))) {
				System.out.println("文件已存在,是否覆蓋原有的文件? ( y 覆蓋/n 追加)");
				if (new Scanner(System.in).next().equals("y")) {
					fileSystem.copyFromLocalFile(false, true, srcPath, desPath);
				} else {
					FileInputStream inputStream = new FileInputStream(srcPath.toString());
					FSDataOutputStream outputStream = fileSystem.append(new Path("/test/test.txt"));
					byte[] bytes = new byte[1024];
					int read = -1;
					while ((read = inputStream.read(bytes)) > 0) {
						outputStream.write(bytes, 0, read);
					}
					inputStream.close();
					outputStream.close();
				}
			} else {
				fileSystem.copyFromLocalFile(srcPath, desPath);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

調(diào)用方法

public static void main(String args[]) throws IOException {
		// HDFS路徑
		Path path1 = new Path("/a/test.txt");
		// 本地路徑
		Path path2 = new Path("D:/test.txt");
		System.setProperty("hadoop.home.dir", "D:\\Hadoop2.7.4\\hadoop-2.7.4");
		// 構(gòu)造一個配置參數(shù)對象,設(shè)置一個參數(shù):要訪問的HDFS的URI
		Configuration conf = new Configuration();
		// 這里指定使用的是HDFS
		conf.set("fs.defaultFS", "hdfs://192.168.121.130:9000");
		// 通過如下的方式進行客戶端身份的設(shè)置
		System.setProperty("HADOOP_USER_NAME", "root");
		// 通過FileSystem的靜態(tài)方法獲取文件系統(tǒng)客戶端對象
		FileSystem fs = FileSystem.get(conf);
		test1(fs, path2, path1);
	}

結(jié)果

實驗2熟悉常用的HDFS操作

shell

hadoop fs -put /export/data/word.txt /test
hadoop fs -appendToFile /export/data/word.txt /test
hadoop fs -copyFromLocal -f /export/data/word.txt /test

實驗2熟悉常用的HDFS操作

實驗2熟悉常用的HDFS操作

(2)從HDFS中下載指定文件,如果本地文件與要下載的文件名稱相同,則自動對下載的文件重命名;

/**

?? ?* 從HDFS中下載指定文件 若本地文件與要下載的文件名稱相同

?? ?* 則自動對下載的文件重命名

?? ?* @param fileSystem

?? ?* @param remotePath HDFS文件地址

?? ?* @param localPath? 本地文件地址

?? ?* @author yangd

?? ?*/

?? @Test

?? private static void test2(FileSystem fileSystem, Path remotePath, Path localPath) {

????? try {

????????? if (fileSystem.exists(remotePath)) {

???????????? if(!(fileSystem.equals(localPath))){

???????????? fileSystem.copyToLocalFile(remotePath, localPath);

???????????? System.out.println("從HDFS中下載文件成功!");

???????????? }else {

???????????? ?? fileSystem.copyToLocalFile(remotePath, new Path("localPath"+ new Random().nextInt() + ".txt"));

??????????????? System.out.println("從HDFS中下載文件并重命名成功!");

???????????? }

????????? } else {

???????????? System.out.println("在HDFS中找不到此文件!");

????????? }

????? }catch (IOException e) {

????????? e.printStackTrace();

????? }

?? }

實驗2熟悉常用的HDFS操作

實驗2熟悉常用的HDFS操作

hadoop fs -copyToLocal /a/test.txt /export/data/test.txt

實驗2熟悉常用的HDFS操作

(3)將HDFS中指定文件的內(nèi)容輸出到終端中;

hadoop fs -cat /a/test.txt

實驗2熟悉常用的HDFS操作

/**

?? ?* 將HDFS中指定文件的內(nèi)容輸出到終端中

?? ?*

?? ?* @param fileSystem

?? ?* @param remotePath

?? ?* @author yangd

?? ?*/

?? @Test

?? private static void test3(FileSystem fileSystem, Path remotePath) {

????? try {

????????? FSDataInputStream inputStream = fileSystem.open(remotePath);

????????? BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));

????????? String line;

???? System.out.println("HDFS中文件內(nèi)容為:");

????????? while ((line = bufferedReader.readLine()) != null) {

???????????? System.out.println(line);

????????? }



????? } catch (IOException e) {

????????? e.printStackTrace();

????? }

?? }

實驗2熟悉常用的HDFS操作

(4)顯示HDFS中指定的文件的讀寫權(quán)限、大小、創(chuàng)建時間、路徑等信息;

/**

?? ?* 顯示HDFS中指定的文件的讀寫權(quán)限、大小、創(chuàng)建時間、路徑等信息

?? ?* @param fileSystem

?? ?* @param remotePath HDFS文件地址

?? ?* @author yangd

?? ?*/

?? private static void test4(FileSystem fileSystem, Path remotePath) {

????? try {

????????? FileStatus[] fileStatus = fileSystem.listStatus(remotePath);

????????? System.out.println("HDFS中指定的文件的讀寫權(quán)限、大小、創(chuàng)建時間、路徑信息如下:");

????????? for (FileStatus status : fileStatus) {

????????? ?? System.out.println(status.getPermission());

????????? ?? System.out.println(status.getBlockSize());

????????? ?? System.out.println(status.getAccessTime());

???????????? System.out.println(status.getPath());

????????? }

????? } catch (IOException e) {

????????? e.printStackTrace();

????? }

?? }

實驗2熟悉常用的HDFS操作

實驗2熟悉常用的HDFS操作

hadoop fs -ls -h /a/test.txt

實驗2熟悉常用的HDFS操作

完整實驗過程及源代碼和運行結(jié)果截圖下載鏈接:
?

??實驗2常用的HDFS操作.doc-Linux文檔類資源-CSDN文庫文章來源地址http://www.zghlxwxcb.cn/news/detail-417602.html

到了這里,關(guān)于實驗2熟悉常用的HDFS操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 大數(shù)據(jù)技術(shù)原理及應(yīng)用課實驗2 :熟悉常用的HDFS操作

    大數(shù)據(jù)技術(shù)原理及應(yīng)用課實驗2 :熟悉常用的HDFS操作

    實驗2 ?熟悉常用的HDFS操作 目錄 實驗2 ?熟悉常用的HDFS操作 一、實驗?zāi)康?二、實驗平臺 三、實驗步驟(每個步驟下均需有運行截圖) (一)編程實現(xiàn)以下功能,并利用Hadoop提供的Shell命令完成相同任務(wù): (1)向HDFS中上傳任意文本文件,如果指定的文件在HDFS中已經(jīng)存在,則

    2024年04月14日
    瀏覽(36)
  • 熟悉常用的HDFS操作(大數(shù)據(jù)技術(shù)原理與應(yīng)用-第三章實驗)

    熟悉常用的HDFS操作(大數(shù)據(jù)技術(shù)原理與應(yīng)用-第三章實驗)

    首先啟動Hadoop,命令如下: 在終端輸入如下命令,查看 hdfs dfs 總共支持哪些操作: 上述命令執(zhí)行后,會顯示如下的結(jié)果: 如果顯示 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ,說明環(huán)境變量 JAVA_LIBRARY_PATH 并未定義,首

    2024年02月01日
    瀏覽(20)
  • 熟悉常用的HDFS操作(附錄HDFS常用命令)

    熟悉常用的HDFS操作(附錄HDFS常用命令)

    1、理解HDFS在Hadoop體系結(jié)構(gòu)中的角色; 2、熟練使用HDFS操作常用的Shell命令; 3、熟悉HDFS操作常用的Java API 1、編程實現(xiàn)指定功能,并利用Hadoop提供的Shell命令完成相同任務(wù): 2、編程實現(xiàn)一個類“MyFSDataInputStream”,該類繼承“org.apache.hadoop.fs.FSDataInputStream”。 編程實現(xiàn)以下指定

    2023年04月09日
    瀏覽(30)
  • Hadoop 使用Linux操作系統(tǒng)與Java熟悉常用的HDFS操作

    Hadoop 使用Linux操作系統(tǒng)與Java熟悉常用的HDFS操作

    注意看評論區(qū)獲取完整代碼資料 目錄 一、實驗?zāi)康?二、實驗平臺 三、實驗步驟 理解HDFS在Hadoop體系結(jié)構(gòu)中的角色; 熟練使用HDFS操作常用的Shell命令; 熟悉HDFS操作常用的Java API。 操作系統(tǒng):Linux(建議Ubuntu16.04); Hadoop版本:2.7.1; JDK版本:1.8或以上版本; Java IDE:Eclipse。

    2024年02月03日
    瀏覽(22)
  • 實驗03熟悉常用的HBase操作

    實驗03熟悉常用的HBase操作

    ?? Hbase相關(guān)配置參考網(wǎng)址: ??http://dblab.xmu.edu.cn/blog/install-hbase/ 1?? 理解HBase在Hadoop體系結(jié)構(gòu)中的角色; 2?? 熟練使用HBase操作常用的Shell命令; 3?? 熟悉HBase操作常用的Java API; 操作系統(tǒng):Linux 虛擬機 :ubuntu Hadoop版本:2.7.1 HBase版本:1.1.2 JDK版本:1.8版本 Java IDE:ID

    2023年04月12日
    瀏覽(25)
  • 實驗三:熟悉常用的HBase操作

    實驗三:熟悉常用的HBase操作

    完整原版實驗報告word文件:實驗三:熟悉常用的HBase操作 ————————————————————————————————— \\\"大數(shù)據(jù)技術(shù)原理與應(yīng)用\\\"課程實驗報告 題目:實驗三:熟悉常用的HBase操作 姓名:朱小凡 日期:2022/3/29 1、實驗環(huán)境: 設(shè)備名稱 LAPTOP-9KJS8HO

    2023年04月08日
    瀏覽(73)
  • 大數(shù)據(jù)實驗 實驗三:熟悉常用的HBase操作

    大數(shù)據(jù)實驗 實驗三:熟悉常用的HBase操作

    (1)理解HBase在Hadoop體系結(jié)構(gòu)中的角色; (2)熟練使用HBase操作常用的Shell命令; (3)熟悉HBase操作常用的Java API。 操作系統(tǒng):centos7; Hadoop版本:3.3; HBase版本:2.2.2; JDK版本:1.8; Java IDE:IDEA。 (1) 列出HBase所有的表的相關(guān)信息,例如表名、創(chuàng)建時間等; (2) 在終端

    2024年02月04日
    瀏覽(29)
  • 云計算 熟悉常用的LINUX操作和hadoop部署相關(guān)操作 實驗報告

    云計算 熟悉常用的LINUX操作和hadoop部署相關(guān)操作 實驗報告

    《云計算系統(tǒng)架構(gòu)及應(yīng)用》實驗報告 題目: 熟悉常用的LINUX操作和hadoop部署相關(guān)操作 姓名 日期 實驗環(huán)境:? 操作系統(tǒng):Linux Hadoop版本:2.7.3 實驗內(nèi)容與完成情況: (一)熟悉常用的Linux 操作 請按要求上機實踐如下linux基本命令。 cd命令:切換目錄 (1)切換到目錄 /usr/lo

    2024年02月05日
    瀏覽(18)
  • HBase的編程實踐(實驗3_熟悉常用的HBase操作)

    HBase的編程實踐(實驗3_熟悉常用的HBase操作)

    一、Hbase中使用Shell命令: ①?HBase中創(chuàng)建表:(create 命令:第一個變量是表名,然后是列族名) 語法:create \\\'表名稱\\\',\\\'列族名稱1\\\',\\\'列族名稱2\\\',\\\'列族名稱N\\\' 通過命令 describe \\\'student\\\'? 進行查看表的結(jié)構(gòu): (desc ‘表名’,查看表的結(jié)構(gòu)) ? 增加數(shù)據(jù) ②?put: (put 命令:第一

    2024年02月01日
    瀏覽(22)
  • 云計算于大數(shù)據(jù)入門實驗三——熟悉常用的 HBase 操作

    云計算于大數(shù)據(jù)入門實驗三——熟悉常用的 HBase 操作

    理解HBase在Hadoop體系結(jié)構(gòu)中的角色 熟練使用HBase操作常用的shell命令 熟悉HBase操作常用的Java API 保存程序,并自行存檔 最終的程序都必須經(jīng)過測試,驗證是正確的 按照實驗報告格式,認(rèn)真記錄實驗過程及結(jié)果,回答實驗報告中的問題。實驗報告模板在學(xué)習(xí)通的資料里面下載。

    2024年02月05日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包