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

3、HDFS的使用(讀寫、上傳、下載、遍歷、查找文件、整個目錄拷貝、只拷貝文件、列出文件夾下文件、刪除文件及目錄、獲取文件及文件夾屬性等)-java

這篇具有很好參考價值的文章主要介紹了3、HDFS的使用(讀寫、上傳、下載、遍歷、查找文件、整個目錄拷貝、只拷貝文件、列出文件夾下文件、刪除文件及目錄、獲取文件及文件夾屬性等)-java。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Hadoop系列文章目錄

1、hadoop3.1.4簡單介紹及部署、簡單驗(yàn)證
2、HDFS操作 - shell客戶端
3、HDFS的使用(讀寫、上傳、下載、遍歷、查找文件、整個目錄拷貝、只拷貝文件、列出文件夾下文件、刪除文件及目錄、獲取文件及文件夾屬性等)-java
4、HDFS-java操作類HDFSUtil及junit測試(HDFS的常見操作以及HA環(huán)境的配置)
5、HDFS API的RESTful風(fēng)格–WebHDFS
6、HDFS的HttpFS-代理服務(wù)
7、大數(shù)據(jù)中常見的文件存儲格式以及hadoop中支持的壓縮算法
8、HDFS內(nèi)存存儲策略支持和“冷熱溫”存儲
9、hadoop高可用HA集群部署及三種方式驗(yàn)證
10、HDFS小文件解決方案–Archive
11、hadoop環(huán)境下的Sequence File的讀寫與合并
12、HDFS Trash垃圾桶回收介紹與示例
13、HDFS Snapshot快照
14、HDFS 透明加密KMS
15、MapReduce介紹及wordcount
16、MapReduce的基本用法示例-自定義序列化、排序、分區(qū)、分組和topN
17、MapReduce的分區(qū)Partition介紹
18、MapReduce的計(jì)數(shù)器與通過MapReduce讀取/寫入數(shù)據(jù)庫示例
19、Join操作map side join 和 reduce side join
20、MapReduce 工作流介紹
21、MapReduce讀寫SequenceFile、MapFile、ORCFile和ParquetFile文件
22、MapReduce使用Gzip壓縮、Snappy壓縮和Lzo壓縮算法寫文件和讀取相應(yīng)的文件
23、hadoop集群中yarn運(yùn)行mapreduce的內(nèi)存、CPU分配調(diào)度計(jì)算與優(yōu)化



本示例介紹java通過api操作hdfs。
主要包含HDFS的讀寫、上傳、下載、遍歷、查找文件、整個目錄拷貝、只拷貝文件、列出文件夾下文件、刪除文件及目錄、獲取文件及文件夾屬性等。
本文分為2個部分,即環(huán)境準(zhǔn)備和示例。

一、配置Windows下Hadoop環(huán)境

在windows上做HDFS客戶端應(yīng)用開發(fā),需要設(shè)置Hadoop環(huán)境,而且要求是windows平臺編譯的Hadoop,不然會報(bào)以下的錯誤:

#缺少winutils.exe
Could not locate executable null \bin\winutils.exe in the hadoop binaries
#缺少hadoop.dll
Unable to load native-hadoop library for your platform… using builtin-Java classes where applicable

1、解壓hadoop-3.1.4_winutils.zip文件

將已經(jīng)編譯好的Windows版本Hadoop解壓到到一個沒有中文、沒有空格的路徑下面
該文件由于不能上傳,可以參考我的筆記:https://note.youdao.com/s/Tp6Y92QO
hdfs下載整個目錄,# hadoop專欄,hdfs,java,hadoop,mapreduce,大數(shù)據(jù)
hdfs下載整個目錄,# hadoop專欄,hdfs,java,hadoop,mapreduce,大數(shù)據(jù)

2、配置環(huán)境變量

在windows上面配置hadoop的環(huán)境變量: HADOOP_HOME,并將%HADOOP_HOME%\bin添加到path中。
hdfs下載整個目錄,# hadoop專欄,hdfs,java,hadoop,mapreduce,大數(shù)據(jù)
hdfs下載整個目錄,# hadoop專欄,hdfs,java,hadoop,mapreduce,大數(shù)據(jù)

3、復(fù)制hadoop.dll文件

把hadoop3.1.4文件夾中bin目錄下的hadoop.dll文件放到系統(tǒng)盤: C:\Windows\System32 目錄
hdfs下載整個目錄,# hadoop專欄,hdfs,java,hadoop,mapreduce,大數(shù)據(jù)
以上,完成了windows環(huán)境的配置。

二、示例

核心是從HDFS提供的api中構(gòu)造一個HDFS的訪問客戶端對象,然后通過該客戶端對象操作(增刪改查)HDFS上的文件。

1、客戶端核心類

  • Configuration 配置對象類,用于加載或設(shè)置參數(shù)屬性
  • FileSystem 文件系統(tǒng)對象基類。針對不同文件系統(tǒng)有不同具體實(shí)現(xiàn)。該類封裝了文件系統(tǒng)的相關(guān)操作方法。

在Java中操作HDFS,主要涉及以下Class:

  • Configuration:該類的對象封轉(zhuǎn)了客戶端或者服務(wù)器的配置
  • FileSystem:該類的對象是一個文件系統(tǒng)對象,可以用該對象的一些方法來對文件進(jìn)行操作,通過FileSystem的靜態(tài)方法get獲得該對象。
FileSystem fs = FileSystem.get(conf);
  • get方法

從conf中的一個參數(shù) fs.defaultFS的配置值判斷具體是什么類型的文件系統(tǒng)。如果我們的代碼中沒有指定fs.defaultFS,并且工程classpath下也沒有給定相應(yīng)的配置,conf中的默認(rèn)值就來自于hadoop的jar包中的core-default.xml,默認(rèn)值為: file:///,則獲取的將不是一個DistributedFileSystem的實(shí)例,而是一個本地文件系統(tǒng)的客戶端對象。文章來源地址http://www.zghlxwxcb.cn/news/detail-575800.html

#獲取FileSystem方式,有2中方式
#第一種
public void getFileSystem1() throws IOException {
    Configuration configuration = new Configuration();
    //指定我們使用的文件系統(tǒng)類型:
    configuration.set("fs.defaultFS", "hdfs://server1:8020/");
    //獲取指定的文件系統(tǒng)
    FileSystem fileSystem = FileSystem.get(configuration);
    System.out.println(fileSystem.toString());
}

#第二種
public void getFileSystem2() throws  Exception{
    FileSystem fileSystem = FileSystem.get(new URI("hdfs://server1:8020"), new Configuration());
    System.out.println("fileSystem:"+fileSystem);
}

2、創(chuàng)建工程及示例

1)、pom.xml導(dǎo)入Maven依賴

<dependencies>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-common</artifactId>
			<version>3.1.4</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-client</artifactId>
			<version>3.1.4</version>
		</dependency>
		<dependency>
			<groupId>org.apache.hadoop</groupId>
			<artifactId>hadoop-hdfs</artifactId>
			<version>3.1.4</version>
		</dependency>
	</dependencies>

	<build>
		<plugins>
			<plugin>
				<groupId>org.apache.maven.plugins</groupId>
				<artifactId>maven-compiler-plugin</artifactId>
				<version>3.1</version>
				<configuration>
					<source>1.8</source>
					<target>1.8</target>
				</configuration>
			</plugin>
		</plugins>
	</build>

2)、創(chuàng)建java測試類

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.apache.hadoop.io.IOUtils;
import org.hadoop.hdfs.sentiment.dfs.impl.MgrHdfsImpl;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import lombok.extern.slf4j.Slf4j;

@Slf4j
public class HdfsTest {
	private static Configuration conf = null;
	private static FileSystem fileSystem = null;
	private static final String HADOOP_USER_NAME = "alanchan";
	private static final String DEFAULTFS = "hdfs://server1:8020";

	private static final String BASICPATH = "/test_hadoop_client_java";
	private static final String BASICFILEPATH = "/test_hadoop_client_java/java.txt";
	private static final String LOCALFILEPATH = "D:/workspace/bigdata-component/hadoop/testhadoopclient_java.txt";
	private static final String RENAMEILEPATH = "/test_hadoop_client_java_NEW/bigdata_rename.txt";
	private static final String COPYEILEPATH = "/test_hadoop_client_java/bigdata.txt";
	private static final String COPYEILEPATHTO = "/test_hadoop_client_java_Copy/bigdata.txt";
	private static final String COPYEILEPATHTO2 = "/test_hadoop_client_java_Copy2/bigdata.txt";

	// 初始化方法 用于和hdfs集群建立連接
	@Before
	public void connect2HDFS() throws IOException {
		// 設(shè)置客戶端身份 以具備權(quán)限在hdfs上進(jìn)行操作
		System.setProperty("HADOOP_USER_NAME", HADOOP_USER_NAME);
		// 創(chuàng)建配置對象實(shí)例
		conf = new Configuration();
		// 設(shè)置操作的文件系統(tǒng)是HDFS 并且指定HDFS操作地址
		conf.set("fs.defaultFS", DEFAULTFS);
		// 創(chuàng)建FileSystem對象實(shí)例
		fileSystem = FileSystem.get(conf);
	}

	@Test
	public void mkdir() throws IOException {
		// FileSystem.exists指定HDFS文件/文件夾是否存在
//		Path file = new Path("hdfsPath");
//		boolean isExists = fs.exists(file);

		// 首先判斷文件夾是否存在,如果不存在再創(chuàng)建
		if (!fileSystem.exists(new Path(BASICPATH))) {
			// 創(chuàng)建文件夾
			fileSystem.mkdirs(new Path(BASICPATH));
		}
	}

//
	@Test
	public void putFile2HDFS() throws IOException {
		// 創(chuàng)建本地文件路徑
		Path src = new Path(LOCALFILEPATH);
		// hdfs上傳路徑
		Path dst = new Path(BASICFILEPATH);
		// 文件上傳動作(local--->hdfs)
		fileSystem.copyFromLocalFile(src, dst);

	}

	@Test
	public void testHdfs() throws Exception {
		MgrHdfsImpl hdfs = new MgrHdfsImpl();
		Path path = new Path(BASICPATH + "/hdfs.txt");
		String content = "hdfs://server1:8020/sentiment/data_p/task_20220830163507/weibo_data_2.txt";
		hdfs.writeFile(path, content);
		log.info(" readFile={}", hdfs.readFileToString(path));
	}

	@Test
	public void writeFile() throws Exception {
		FSDataOutputStream in = fileSystem.create(new Path(BASICPATH + "/a.txt"));
		in.write("hdfs://server1:8020/sentiment/data_p/task_20220830163507/weibo_data_2.txt".getBytes());
		in.flush();
		in.close();
	}

	@Test
	public void readFile() throws Exception {
//		FSDataInputStream out = fileSystem.open(new Path(BASICFILEPATH));
		FSDataInputStream out = fileSystem
				.open(new Path("hdfs://server1:8020/sentiment/data_p/willDoing_20220830170414"));
//        IOUtils.copyBytes(out,System.out,1024);

		BufferedReader br = new BufferedReader(new InputStreamReader(out));
		String line;
		String result = "";
		while ((line = br.readLine()) != null) {
			// 遍歷抓取到的每一行并將其存儲到result里面
			result += line + "\n";
		}
//		String content = out.readUTF();
		System.out.println("讀文件: " + result);
//		System.out.println("讀文件: " + content);

		out.close();

	}

//
//	// 獲取文件夾下文件大小
	@Test
	public void getFileSize() throws IllegalArgumentException, IOException {
		log.info("summary={}", fileSystem.getContentSummary(new Path(BASICPATH)).getLength());
	}

//
	@Test
	public void getFile2Local() throws IOException {
		// 源路徑:hdfs的路徑
		Path src = new Path(BASICFILEPATH);
		// 目標(biāo)路徑:local本地路徑
		Path dst = new Path(LOCALFILEPATH);
		// 文件下載動作(hdfs--->local)
		fileSystem.copyToLocalFile(src, dst);
	}

//
	@Test
	public void rename() throws Exception {
		Path srcPath = new Path(BASICFILEPATH);
		Path destpath = new Path(RENAMEILEPATH);
		if (fileSystem.exists(srcPath)) {
			fileSystem.rename(srcPath, destpath);
		}
	}

//沒有遞歸
	@Test
	public void listFiles() throws Exception {
		Path destPath = new Path(BASICPATH);
		if (fileSystem.exists(destPath)) {
			FileStatus[] listStatus = fileSystem.listStatus(destPath);
			for (FileStatus fileStatus : listStatus) {
				if (fileStatus.isFile()) {
					log.info("file is ={}", fileStatus.getPath().getName());
				} else {
					log.info("dir is = {}", fileStatus.getPath().getName());
				}
			}
		}
	}

//
	@Test
	public void copyFiles() throws Exception {
		Path srcPath = new Path(COPYEILEPATH);
		Path destpath = new Path(COPYEILEPATHTO);

		FSDataInputStream in = fileSystem.open(srcPath);
		FSDataOutputStream out = fileSystem.create(destpath);
		IOUtils.copyBytes(in, out, conf);

		IOUtils.closeStream(in);
		IOUtils.closeStream(out);
	}

//
	public void copyFiles(String src, String dest) throws Exception {
		Path srcPath = new Path(src);
		Path destpath = new Path(dest);

		FSDataInputStream in = fileSystem.open(srcPath);
		FSDataOutputStream out = fileSystem.create(destpath);
		IOUtils.copyBytes(in, out, conf);

		IOUtils.closeStream(in);
		IOUtils.closeStream(out);
	}

//
	@Test
	public void copyFiles2() throws Exception {
		Path srcPath = new Path(COPYEILEPATH);
		Path destpath = new Path(COPYEILEPATHTO2);

		FSDataInputStream in = fileSystem.open(srcPath);
		FSDataOutputStream out = fileSystem.create(destpath);

		byte[] b = new byte[1024];
		int hasRead = 0;
		while ((hasRead = in.read(b)) > 0) {
			out.write(b, 0, hasRead);
		}

		IOUtils.closeStream(in);
		IOUtils.closeStream(out);
	}

	private static final String BASICPATH_COPYDIR_SRC = "/testhdfs_copyDir/src";
	private static final String BASICPATH_COPYDIR_DEST = "/testhdfs_copyDir/dest";

	// 遞歸遍歷文件夾
	@Test
	public void listDir() throws Exception {
		Path path = new Path(BASICPATH_COPYDIR_SRC);
		listDir(path);
	}

	public void listDir(Path path) throws Exception {
		FileStatus[] fileStatuses = fileSystem.listStatus(path);
		for (FileStatus fileStatus : fileStatuses) {
			if (fileStatus.isDirectory()) {
				listDir(fileStatus.getPath());
				log.info("目錄 = {}", fileStatus.getPath());
			} else {
				log.info("文件完整路徑 = {},文件名={}", fileStatus.getPath(), fileStatus.getPath().getName());
			}
		}
	}

	// HDFS API 遍歷文件夾中的文件
	@Test
	public void listDir2() throws Exception {
		RemoteIterator<LocatedFileStatus> locatedFileStatusRemoteIterator = fileSystem
				.listFiles(new Path(BASICPATH_COPYDIR_SRC), true);
		while (locatedFileStatusRemoteIterator.hasNext()) {
			LocatedFileStatus next = locatedFileStatusRemoteIterator.next();
			log.info("2 ---------  文件完整路徑 = {},文件名={}", next.getPath(), next.getPath().getName());

		}
	}

	// 文件夾拷貝,包含文件夾
	@Test
	public void copyDir() throws Exception {
		Path srcPath = new Path(BASICPATH_COPYDIR_SRC);
		Path destpath = new Path(BASICPATH_COPYDIR_DEST);
//		  public static boolean copy(FileSystem srcFS, Path src,FileSystem dstFS, Path dst,boolean deleteSource,Configuration conf) throws IOException {
		FileUtil.copy(fileSystem, srcPath, fileSystem, destpath, false, conf);

		listDir(destpath);
	}

	// 拷貝文件及目錄,但不包含BASICPATH_COPYDIR_SRC的第一層目錄
	@Test
	public void copyFilesIncludeDir() throws Exception {
		Path srcPath = new Path(BASICPATH_COPYDIR_SRC);
		Path destpath = new Path(BASICPATH_COPYDIR_DEST);

		FileStatus[] fileStatuses = fileSystem.listStatus(srcPath);
		for (FileStatus fileStatus : fileStatuses) {
			if (fileStatus.isDirectory()) {
				FileUtil.copy(fileSystem, fileStatus.getPath(), fileSystem, destpath, false, conf);
				log.info("目錄 = {}", fileStatus.getPath());
			} else {
				FileUtil.copy(fileSystem, fileStatus.getPath(), fileSystem, destpath, false, conf);
				log.info("文件完整路徑 = {},文件名={}", fileStatus.getPath(), fileStatus.getPath().getName());
			}
		}

		listDir(destpath);
	}

	// 拷貝源文件夾下的所有文件到目標(biāo)文件夾,不含源文件夾下的文件夾
	@Test
	public void copyDirOnlyFiles() throws Exception {
		Path srcPath = new Path(BASICPATH_COPYDIR_SRC);
		Path destpath = new Path(BASICPATH_COPYDIR_DEST);

		RemoteIterator<LocatedFileStatus> sourceFiles = fileSystem.listFiles(srcPath, true);
		while (sourceFiles.hasNext()) {
			FileUtil.copy(fileSystem, sourceFiles.next().getPath(), fileSystem, destpath, false, conf);
		}

		listDir(destpath);
	}

	private static final String BASICPATH_COPYDIR = "/testhdfs_copyDir";

	// 查找文件
	@Test
	public void search() throws Exception {
		Path srcPath = new Path(BASICPATH_COPYDIR);
		String searchFileName = "2022年度本市工程系列計(jì)算機(jī)技術(shù)及應(yīng)用專業(yè)高級職稱評審工作已啟動.docx";
		RemoteIterator<LocatedFileStatus> sourceFiles = fileSystem.listFiles(srcPath, true);
		while (sourceFiles.hasNext()) {
			Path srcFile = sourceFiles.next().getPath();
			String srcFileName = srcFile.getName();
			if (searchFileName.equals(srcFileName)) {
				log.info("文件路徑={},查找文件名={}", srcFile, searchFileName);
			}

		}

	}

	private static final String TODELETEFILE = "/test_hadoop_client_java/bigdata.txt";

	@Test
	public void delete() throws Exception {
		// 判斷文件是否存在
		if (fileSystem.exists(new Path(TODELETEFILE))) {
			fileSystem.delete(new Path(TODELETEFILE), true);
		}
	}

	@After
	public void close() {
		// 首先判斷文件系統(tǒng)實(shí)例是否為null 如果不為null 進(jìn)行關(guān)閉
		if (fileSystem != null) {
			try {
				fileSystem.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}

到了這里,關(guān)于3、HDFS的使用(讀寫、上傳、下載、遍歷、查找文件、整個目錄拷貝、只拷貝文件、列出文件夾下文件、刪除文件及目錄、獲取文件及文件夾屬性等)-java的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 2.php開發(fā)-個人博客項(xiàng)目&文件操作類&編輯器&上傳下載刪除讀寫

    2.php開發(fā)-個人博客項(xiàng)目&文件操作類&編輯器&上傳下載刪除讀寫

    ? ? ? 文件上傳類: form表單上傳文件 --文件上傳,--php接收,處理 action ---提交給誰處理 move函數(shù)移到文件 ---文件上傳漏洞?。。?! ——ueditor 實(shí)現(xiàn)編輯器的加載 上傳文件的方法: 用了編輯器,就要用編輯器去驗(yàn)證了(編輯器沒漏洞,那就沒漏洞——他有問題就有問題,

    2024年01月21日
    瀏覽(52)
  • 關(guān)于hdfs突然無法上傳下載文件的解決方法(Couldn‘t upload the file)

    關(guān)于hdfs突然無法上傳下載文件的解決方法(Couldn‘t upload the file)

    在瀏覽器上可以正常訪問HDFS集群http://node1:9870的Web UI頁面,成功進(jìn)入以下界面 同時可以查看hdfs的目錄和文件 但無法上傳和下載文件,出現(xiàn)以下報(bào)錯:Couldn’t upload the file. 1、剛開始是可以對文件及文件夾進(jìn)行增刪改操作的,現(xiàn)在突然操作不了的,請檢查下本地電腦的hosts文件

    2024年02月12日
    瀏覽(28)
  • 大數(shù)據(jù):HDFS的Shell操作,進(jìn)程啟動管理,文件系統(tǒng)操作命令,創(chuàng)建文件文件夾,下載上傳,復(fù)制移動,刪除,展示,追加內(nèi)容

    大數(shù)據(jù):HDFS的Shell操作,進(jìn)程啟動管理,文件系統(tǒng)操作命令,創(chuàng)建文件文件夾,下載上傳,復(fù)制移動,刪除,展示,追加內(nèi)容

    2022找工作是學(xué)歷、能力和運(yùn)氣的超強(qiáng)結(jié)合體,遇到寒冬,大廠不招人,可能很多算法學(xué)生都得去找開發(fā),測開 測開的話,你就得學(xué)數(shù)據(jù)庫,sql,oracle,尤其sql要學(xué),當(dāng)然,像很多金融企業(yè)、安全機(jī)構(gòu)啥的,他們必須要用oracle數(shù)據(jù)庫 這oracle比sql安全,強(qiáng)大多了,所以你需要學(xué)

    2024年02月07日
    瀏覽(103)
  • SpringBoot整合hdfs,實(shí)現(xiàn)文件上傳下載刪除與批量刪除,以及vue前端發(fā)送請求,實(shí)現(xiàn)前后端交互功能;

    SpringBoot整合hdfs,實(shí)現(xiàn)文件上傳下載刪除與批量刪除,以及vue前端發(fā)送請求,實(shí)現(xiàn)前后端交互功能;

    部分工具類代碼參考文章:https://blog.csdn.net/qq_27242695/article/details/119683823 前端實(shí)現(xiàn)效果 HDFSController HDFS FileInterface (文件接口) HDFS FileImplService (文件接口實(shí)現(xiàn)類) HDFSConfig(從yaml讀取文件) HDFSUTils 前端vue代碼:

    2024年02月16日
    瀏覽(130)
  • 大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)四:HDFS實(shí)驗(yàn)——讀寫HDFS文件

    大數(shù)據(jù)技術(shù)基礎(chǔ)實(shí)驗(yàn)四:HDFS實(shí)驗(yàn)——讀寫HDFS文件

    在前面的實(shí)驗(yàn)中我們進(jìn)行了HDFS的部署,并設(shè)置了一鍵啟動HDFS操作,本期實(shí)驗(yàn)我們將使用HDFS開發(fā)環(huán)境進(jìn)行HDFS寫、讀的編寫,以及程序的運(yùn)行,了解HDFS讀寫文件的調(diào)用流程,理解HDFS讀寫文件的原理。 好啦廢話不多說,我們開始今天的實(shí)驗(yàn)操作。 會在Linux環(huán)境下編寫讀寫HDFS文

    2023年04月16日
    瀏覽(21)
  • Linux下sftp,下載整個目錄文件

    Linux下sftp,下載整個目錄文件

    1. 網(wǎng)上看了很多get -r可我就是報(bào)錯就是不行 2. 可用命令 首先使用 version 命令查看sftp版本,以防版本不同導(dǎo)致的差異: 那么接下來我們就要自力更生,輸入 help 命令,查看幫助: 我們可以看到get的命令后面是-p,并非為-r 嘗試命令1: get -p basic_data 失敗 × 嘗試命令2: get -p

    2024年02月16日
    瀏覽(20)
  • 無需克隆整個倉庫,下載Github特定文件夾內(nèi)的文件

    無需克隆整個倉庫,下載Github特定文件夾內(nèi)的文件

    注意:此方法對Git-LFS方式上傳的文件可能無效?。?! 在 Windows 中,可以通過以下步驟打開 PowerShell 終端: 使用搜索功能: 點(diǎn)擊 Windows 按鈕(開始菜單左下角的 Windows 圖標(biāo))。 在搜索框中鍵入 \\\"PowerShell\\\" 或 \\\"Windows PowerShell\\\"。 在搜索結(jié)果中,選擇 \\\"Windows PowerShell\\\" 或 \\\"Windows Po

    2024年02月01日
    瀏覽(23)
  • 【Postman】 測試文件上傳、下載
一、使用PostMan測試文件上傳接口

    【Postman】 測試文件上傳、下載 一、使用PostMan測試文件上傳接口

    1、、選擇post請求方式,輸入請求地址 ? 二、填寫Headers? 一般是自動生成的 Key:Content-Type Value:multipart/form-data 如下圖 ? 三、填寫body 選擇form-data? ? ?然后選擇文件file? ? 點(diǎn)擊添加文件,最后發(fā)送即可 ? 1、反饋異常,先排查 Headers中 Conten-Type 與 ”文件類型“是否匹配 ?

    2024年02月11日
    瀏覽(40)
  • GitHub教程:最新如何從GitHub上下載文件(下載單個文件或者下載整個項(xiàng)目文件)之詳細(xì)步驟講解(圖文教程)

    GitHub教程:最新如何從GitHub上下載文件(下載單個文件或者下載整個項(xiàng)目文件)之詳細(xì)步驟講解(圖文教程)

    在這篇博客中,我們將深入探討如何從GitHub下載文件或整個項(xiàng)目。無論你是編程新手,還是資深開發(fā)者,本文都將提供簡單易懂的指導(dǎo),幫助你輕松掌握下載技巧。涵蓋從單個文件下載到整個項(xiàng)目的下載,我們的目標(biāo)是確保每位讀者都能通過本文輕松實(shí)現(xiàn)從GitHub的下載需求。

    2024年04月10日
    瀏覽(60)
  • 使用Postman模擬文件上傳和下載

    使用Postman模擬文件上傳和下載

    Postman是一款強(qiáng)大的HTTP請求模擬工具,它可以幫我們在沒有前端界面的情況下模擬發(fā)送HTTP請求,非常適合API開發(fā)和測試。在本篇文章中,我將向你展示如何使用Postman進(jìn)行文件的上傳和下載。 ? 啟動Postman,點(diǎn)擊“新建請求”按鈕。 在彈出的新頁面中,選擇請求類型為“POST”

    2024年02月13日
    瀏覽(31)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包