hadoop 2.2 hdfs 操作例子

超详细MapReduce程序实现WordCount案例 一、案例准备 1、首先在本地创建创建两个文件,即文件A和文件B touch A B 2、在文件A和文件B中分别添加以下内容 A: China is my motherland I love China B: I am from china 3、启动hadoop集群并在HDFS中创建input文件夹 //进入hadoop安装目录 cd /usr/local/hadoop//此处为我的hadoop安装目录 //启动hadoop集群 start-all.sh //在HDFS中创建input文件夹 ./bin 阅读详情
package hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class Delete {

	public static void main(String[] args)throws Exception{
		Configuration conf=new Configuration();
		FileSystem fs=FileSystem.get(conf);
		fs.delete(new Path(args[0]), true);
		fs.close();

	}

}
package hdfs;

import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataInputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class DoubleCat {

	public static void main(String[] args)throws Exception {
		Configuration conf=new Configuration();
		FileSystem fs=FileSystem.get(URI.create(args[0]), conf);
		FSDataInputStream in=null;
		try{
			in=fs.open(new Path(args[0]));
			IOUtils.copyBytes(in, System.out, 1024, false);
			in.seek(3);
			IOUtils.copyBytes(in, System.out, 1024, false);
		}finally{
			IOUtils.closeStream(in);
		}		

	}

}

package hdfs;

import java.io.InputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;

public class FileSystemCat {

	public static void main(String[] args) throws Exception{
		Configuration conf=new Configuration();
		FileSystem fileSystem=FileSystem.get(URI.create(args[0]), conf);
		InputStream in=null;
		try{
			in=fileSystem.open(new Path(args[0]));
			IOUtils.copyBytes(in, System.out, 1024,false);
		}finally{
			IOUtils.closeStream(in);
		}

	}

}

package hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;

public class GlobStatus {

	public static void main(String[] args)throws Exception {
		Configuration conf=new Configuration();
		FileSystem fs=FileSystem.get(conf);
		FileStatus[] fStatus=fs.globStatus(new Path(args[0]));
		Path[] paths=FileUtil.stat2Paths(fStatus);
		for(Path path:paths){
			System.out.println(path);
		}

	}

}

package hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;

public class ListStatus {

	public static void main(String[] args)throws Exception {
		Configuration conf=new Configuration();
		FileSystem fs=FileSystem.get(conf);
		FileStatus[] fileStatuses=fs.listStatus(new Path(args[0]));
		Path[]paths=FileUtil.stat2Paths(fileStatuses);
		for(Path path:paths){
			System.out.println(path);
		}

	}

}

package hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class Mkdir {

	public static void main(String[] args)throws Exception {
		Configuration conf=new Configuration();
		FileSystem fs=FileSystem.get(conf);
		fs.mkdirs(new Path(args[0]));
		fs.close();

	}

}

package hdfs;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.FileUtil;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.PathFilter;

public class PathFilterExample {
	private static class StartWithPathFilter implements PathFilter{

		@Override
		public boolean accept(Path path) {
			if(path.getName().startsWith("o")){
				return true;
			}else{
				return false;
			}
		}
		
	}
	
	public static void main(String[] args) throws Exception{
		Configuration conf=new Configuration();
		FileSystem fs=FileSystem.get(conf);
		FileStatus[] fStatus=fs.listStatus(new Path(args[0]), new StartWithPathFilter());
		Path [] paths=FileUtil.stat2Paths(fStatus);
		for(Path path:paths){
			System.out.println(path);
		}

	}

}

package hdfs;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.util.Progressable;

public class PutData {

	public static void main(String[] args)throws Exception {
		Configuration conf=new Configuration();
		FileSystem fs=FileSystem.get(URI.create(args[1]), conf);
		OutputStream out=fs.create(new Path(args[1]), new Progressable() {
			@Override
			public void progress() {
				System.out.println("*");
				
			}
		});
		InputStream in=new BufferedInputStream(new FileInputStream(args[0]));
		try{
			IOUtils.copyBytes(in, out, 1024, false);
		}finally{
			IOUtils.closeStream(in);
			IOUtils.closeStream(out);
		}

	}

}

package hdfs;

import java.io.InputStream;
import java.net.URL;

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;

public class UrlCat {
	static{
		URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
	}
	public static void main(String[] args)throws Exception{
		InputStream in=null;
		try{
			in=new URL(args[0]).openStream();
			IOUtils.copyBytes(in, System.out, 1024,false);
		}finally{
			IOUtils.closeStream(in);
		}
	}

}


Hadoop Java API 操作 HDFS 文件超详细指南 然后,利用 FileInputStream 的有参构造函数创建一个对象,使其与指定的本地文件建立连接,读取本地文件数据。最后,借助 Hadoop 提供的 IOUtils.copyBytes (...) 方法,高效地将本地文件数据传输到 HDFS 文件,实现文件上传功能。通过本文的详细介绍,相信读者能够熟练掌握 Hadoop Java API 操作 HDFS 文件的核心技能,并能顺利完成项目的开发、打包与部署,为大数据处理工作奠定坚实基础。在集群节点上,使用命令。(一)查看其他文件内容。 阅读详情

相关推荐

Hadoop2.x HDFS源码剖析---概述

一、HDFS概述 基于hadoop2.6 HDFS被设计能够运行在通用硬件上、提供流式数据操作、能够处理超大文件的分布式文件系统。 特点:高容错和高吞吐量、易扩展、高可靠性 HDFS的四个核心模块:namenode节点、datanode节点、客户端、HDFS协议(RPC协议、流式接口协议:HTTP和TCP) 基本概念 1、数据块(block) 数据块是HDFS文件处理(读和写)的最小单元,...

l1394049664的博客 6754

MapReduce框架学习(3)——Job的创建及配置

参考:JeffreyZhou的博客园 《Hadoop权威指南》第四版 0 一个MR作业,包括三点: 输入数据 MR程序 配置信息 前面两篇学习了数据格式和MR过程(map函数和reduce函数),那么今天再讲一下配置信息,是怎么把 数据 和 程序结合起来的。 3.1 代码 打算对照代码来讲解,这样可能要有逻辑一点,不至于讲到最后都不知道自己的线索在哪。先贴上WordCount中的Job...

xiaozhou的博客 3302

Hadoop之HDFS

一.HDFS概述 1.1HDFS产生的背景定义 1)背景:随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的 操作系统管理的磁盘中,但是不方便管理和维护,迫切需要一种系统来管理多台机器上的文件,这就是分布式文件管理系统。HDFS只是分布式文件管理系统中的一种。 2)定义:HDFS(Hadoop Distributed File System),它是一个文件系统,用于存储文件,通过目录树来定位文件;其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色。 H

weixin_50915101的博客 3750

JAVA经典异常

1.空指针异常 Movie wm=new WarMovie(); wm=null; wm.seeMovie(); 2.类型转换异常 A子类向上转型成父类后,将A子类的引用类型再转换成父类的另外一个B子类,在编译阶段是能通过的,因为父类型可以强制转换成B子类型,但是堆内存中实际存在的是A子类,在运行阶段A子类是不能转换成B子类的,因为A子类与B子类不存在继承关系 package Movie; public class Movie { public void seeMovie() {

y_w_x_k的博客 422

Hadoop实验2:HDFS操作

目录 一、查看目录 二、创建目录 三、删除目录 四、文件上传 五、文件下载 六、查看文件内容 七、查看文件大小 八、复制文件 九、重命名/移动文件 十、文件权限修改 十一、删除文件 一、查看目录 命令使用格式:hadoop fs -ls 目录名 执行效果: 二、创建目录 使用格式:hadoop fs -mkdir 目录名 执行效果: 注意事项:如果需要创建多层目录,可以使用参数“-p”。例如创建目录/test/test1/test2/test3,...

qq_60980343的博客 2537

cartographer从入门到精通(一):cartographer介绍

Cartographer的架构图我们可以看到白色框出来的三个区域,分别是Input Sensor Data(数据输入模块)Local SLAM(局部SLAM模块)Global SLAM (background thread)(全局SLAM模块)下面我们分别介绍一下这几个模块。

weixin_68094467的博客 1054

Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗

Hadoop学习笔记—20.网站日志分析项目案例(二)数据清洗 网站日志分析项目案例(一)项目介绍:http://www.cnblogs.com/edisonchou/p/4449082.html 网站日志分析项目案例(二)数据清洗:当前页面 网站日志分析项目案例(三)统计分析:http://www.cnblogs.com/edisonchou/p/4464349.h

雲的博客 2925

高效静音黑科技 —— 单相直流无刷电机驱动器

然而,传统的BLDC电机驱动通常依赖于三相架构,电路复杂,成本高昂,且在低功率应用中显得有些“大材小用”。单相直流无刷电机驱动器作为一项高效、静音、经济的技术,正逐渐改变着各个领域的电机驱动方式。其精巧的控制策略、显著的优势以及广阔的应用前景,都预示着这项技术将在未来扮演越来越重要的角色。它相较于传统的三相驱动,显著简化了电路结构,降低了成本,尤其适用于低功率、对静音要求极高的应用场景。通过这些模块的协同工作,单相直流无刷电机驱动器能够实现对电机速度、扭矩的精确控制,并最大程度地降低噪声和振动。

wen8789的博客 1766

Java的异常处理机制

一、什么是java异常? java中所有错误的超类为:Throwable。其下有两个子类:Error 和 Exception。 Error的子类描述的都是系统错误,比如虚拟机内存溢出。 Exception的子类描述的都是程序,比如空指针,下标越界等。 通常我们程序中处理的异常都是Exception。 Java异常类的层次结构图: Java所有异常类都是Throwable的子类,它包括Java异常处理的两个重要子类:Error和Exception。 Error:Error及其子类用来描述Ja.

quiet_1的博客 3881

短信验证码逻辑漏洞学习——各种绕过姿势技巧

短信验证码逻辑漏洞学习——各种绕过姿势技巧

记录并分享学习安全的知识点.. 2557

OpenClaw Skill 开发全攻略|2026 最新机制 + 文件处理实操,看完直接落地开发

很多新手刚接触时,会把 Skill 想得很复杂,其实大可不必。OpenClaw 中的每个 Skill,本质就是一套“能力描述 + 执行逻辑”的组合包,简单说就是“告诉 AI 你能做什么、怎么做,它就会调用你”,核心特征可以总结为这几点,好记又实用:核心载体:以文件夹为单位,不管多简单的 Skill,文件夹里都必须有 SKILL.md 文件——这是 AI 识别技能的唯一依据,少了它,再完善的代码也没用;

haolove527的专栏 7028

Hadoop hdfs常用命令

以下是2.6版本以后的命令 1. 文件操作 (1) 列出HDFS下的文件  hdfs dfs -ls (2) 列出HDFS文件下名为in的文档中的文件 hdfs dfs -ls in (3) 上传文件 将当前目录下的test1文件上传到HDFS上并重命名为test: hdfs dfs -put test1 test (4) 文件被复制到本地系统中 将HDFS...

每天进步一点点儿 1518

[Dify实战] 多轮对话状态管理:上下文保持与槽位填充

本文探讨了基于LLM的对话应用中多轮对话状态管理的核心挑战与解决方案。文章指出,单纯的"能聊"远远不够,关键在于建立有效的状态管理机制,包括上下文保持和槽位填充两大核心能力。通过Dify实战视角,详细阐述了如何设计工程化落地方案:采用混合策略的上下文管理(窗口+摘要+关键槽位)、JSON Schema强约束的槽位抽取、统一状态对象存储、冲突处理机制和优化追问策略。文章特别强调,合理的状态管理能将"聊天"转化为"可执行的业务流程",避免模型成为&qu

技术小甜甜:传播可落地技术,帮助个人和企业降低解决真实场景问题的成本 240

Hadoop 实验: 熟悉常用的HDFS操作

文章目录1. 利用Hadoop提供的Shell命令完成:(1)向HDFS中上传任意文本文件,如果指定的文件在HDFS中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件;(2)从HDFS中下载指定文件,如果本地文件与要下载的文件名称相同,则自动对下载的文件重命名;(3)将HDFS中指定文件的内容输出到终端中;(4)显示HDFS中指定的文件的读写权限、大小、创建时间、路径等信息;(5)给定HDFS中某一个目录,输出该目录下的所有文件的读写权限、大小、创建时间、路径等信息,如果该文件是目录,则递归输出

Beyond_Nothing 2万+

036、算子映射:如何将ONNX算子映射到NPU硬件指令?

《算子映射:ONNX到NPU的转换艺术》 本文深入探讨了将ONNX算子映射到NPU硬件指令的技术挑战与实践经验。作者通过真实案例揭示了映射过程中的常见陷阱,如Reshape算子被错误映射导致分类错误。文章详细分析了三种映射策略(直接映射、拆分映射和融合映射),并强调映射表在编译器中的核心作用。特别针对动态形状、精度对齐等难题提供了解决方案,分享了编写映射表时的实用铁律,包括先优化后映射、严格单元测试等。最后指出,成功的算子映射需要在数学语义、硬件约束和性能优化之间找到精确平衡,这种看似枯燥的工作实则决定着N

m0_50546716的博客 192

计算机组成原理(第三版)唐朔飞-第三章系统总线-课后习题

计算机组成原理(第三版)唐朔飞-第三章系统总线-课后习题

weixin_45735391的博客 6万+

【hadoop——HDFS操作常用的Shell命令】

1.Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)是Hadoop核心组件之一,我们已经安装好了Hadoop 2.7.1,其中已经包含了HDFS组件,不需要另外安装 最基本的shell命令: HDFS既然是Hadoop的组件,那么首先需要启动Hadoop:启动虚拟机,打开终端,输入以下命令: cd /usr/local/hadoop #进入 hadoop安装目录 ./sbin/start-dfs.sh ...

所爱的博客 1万+

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

IDEA连接Linux上的Hadoop并对HDFS进行操作

完成这些步骤后,就能够从Windows机器上的IDE中成功连接到Linux服务器上的Hadoop并对HDFS进行操作。属性的值为Linux服务器的IP地址,例如hdfs://192.168.1.100:9000,然后。如果你没有该冲突问题, 并且该语句让你的程序运行出了问题, 你可以将其去掉。PS:我在上述文件中加入了以下关于slf4j冲突所以去除依赖的语句。相关问题, 如果按照预先安装中的四个步骤应该没有这个问题。: 将放在Linux上面的Hadoop压缩包(, 不需要担心软件的系统适配问题。

ahahayaa的博客 1万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

【Hadoop】HDFS API 操作大全

为了提供对不同数据访问的一致接口,Hadoop借鉴了Linux虚拟文件系统的概念,为此Hadopo提供了一个抽象的文件系统模型FileSystem,HDFS 是其中的一个实现。 FileSystem是Hadoop中所有文件系统的抽象父类,它定义了文件系统所具有的基本特征和基本操作。

康师傅没有眼泪 4170

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Hadoop基础操作--上传文件到HDFS

一、什么是HDFS文件系统 文件系统是对文件存储设备的空间进行组织和分配,负责文件存储并对存入的文件进行保护和检索的系统。即:为用户建立文件、存入、读出、修改、转储文件,控制文件的存取,当用户不再使用时删除文件。 现在我们的计算机基本上都是windows操作系统,文件都存储在磁盘驱动器(C、D、E盘)的文件目录中,在Linux系统中提供了树状文件目录结构,可供使用者存储或读取文件。Hadoop集群也有专有的文件系统--HDFS文件系统,也使用了类Linux的目录结构来进行...

m0_58945994的博客 3万+

Sqoop2 从MySQL导入数据到Hadoop HDFS

前言Apache Sqoop(TM) is a tool designed for efficiently transferring bulk data between Apache Hadoop and structured datastores such as relational databases. Sqoop是一个在Hadoop与关系数据库之间进行高效传输大量数据的工具。也即是可进行导入

7572

Hadoop•HDFS的Java API操作

🔆🔆🔆集群如果不用了,就要停下了。不能用Linux版本的,里面的协议不一样。下载Windows版本的JDK和Hadoop后解压,把它们的bin的路径分别添加至物理机环境变量中。JDK的添加在用户变量就行了,Hadoop由于要上传物理计算机里的文件因此要添加到系统变量。在pom.xml文件添加以下。在物理计算机创建要上传的文件。可以去Web UI查看一下,忘了怎么进Web UI可以看Hadoop•用Web UI查看Hadoop状态&词频统计。

浩浩kids的博客 1642

实验2 熟悉常用的HDFS操作

追加到原文件的开头,在HDFS中不存在与这种操作对应的命令,因此,无法使用一条命令来完成。(1)操作系统Linux(建议Ubuntu16.04或Ubuntu18.04);2.用-test检测文件是否存在,1表示文件已存在。(1)理解HDFS在Hadoop体系结构中的角色;(2)熟练使用HDFS操作常用的Shell命令;(3)熟悉HDFS操作常用的JavaAPI。3把文件传输到伪分布式中,0表示文件已存在。(2)Hadoop版本3.1.3;#覆盖原来文件,第一种命令形式。(3)JDK版本1.8;...

m0_60812517的博客 3747

Hadoop-HDFS原理及操作(小实验)

HDFS原理: HDFS(Hadoop Distributed File System)是一个分布式文件系统,是谷歌的GFS山寨版本。它具有高容错性并提供了高吞吐量的数据访问,非常适合大规模数据集上的应用,它提供了一个高度容错性和高吞吐量的海量数据存储解决方案。 HDFS文件系统的角色分为三种(Master和Slave的结构,主从节点结构),分为NameNode、Secondary NameNod...

qq_28840013的博客 3963

Hadoop HDFS操作指南

重命名 HDFS 中的文件(将 local_test.txt 改名为 renamed_test.txt)# 移动 /test_dir/copied_file.txt 到 /hdfs_demo 目录(文件名不变)# 复制 HDFS 中的 local_test.txt 到 /test_dir 目录(文件名不变)hadoop fs -rmdir /test_dir # 需确保 /test_dir 中已无文件。# 复制并改名(复制到 /test_dir 并命名为 copied_file.txt)

hardworkingapple的博客 882
上一篇: Hadoop平台优化综述
下一篇: Zebra and Pig
hxpjava1
博客等级 码龄19年 1365粉丝 511原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值