hadoop文件操作代码实现

server/2024/9/19 18:46:05/ 标签: hadoop, eclipse, 大数据

hadoop%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C" style="text-align:center;">hadoop文件操作

目录

hadoop%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C-toc" style="margin-left:0px;">

一、文件的上传 删除 查看

1.整体代码

2.代码运行

3.查看证实

4.具体代码解析

1)向Hadoop传文件

2)向本地Windows传文件

3)删除Hadoop的文件

4)判断文件是否存在

二、列出文件

1.整体代码

2.代码运行

3.具体代码解析

1)获取块大小

2)获取副本数:

3)获取块位置

4)获取文件路径


一、文件的上传 删除 查看

1.整体代码

package com.pracle.example;
​
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
​
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
​
public class Test4 {public static void main(String[] args) throws URISyntaxException, IOException {Configuration configuration=new Configuration();FileSystem fs = FileSystem.get(new URI("hdfs://192.168.67.90:9000"), configuration);//向Hadoop传文件fs.copyFromLocalFile(new Path("d:/aa.txt"),new Path("/cc.txt"));//向本地传文件fs.copyToLocalFile(new Path("/cc.txt"),new Path("d:/ee.txt"));//删除Hadoop中的文件fs.delete(new Path("/c.txt"),true); // true 递归删除
​// fs.exists(new Path("/a.txt"));判断文件是否存在if(fs.exists(new Path("/a.txt"))){System.out.println("文件存在");}
​}
}
​

2.代码运行

3.查看证实

4.具体代码解析

1)向Hadoop传文件

fs.copyFromLocalFile(new Path("d:/aa.txt"),new Path("/cc.txt"));

2)向本地Windows传文件

fs.copyToLocalFile(new Path("/cc.txt"),new Path("d:/ee.txt"));

3)删除Hadoop的文件

fs.delete(new Path("/c.txt"),true);

4)判断文件是否存在

if(fs.exists(new Path("/a.txt"))){System.out.println("文件存在");}

二、列出文件

1.整体代码

package com.pracle.example;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;public class Test5 {public static void main(String[] args) throws URISyntaxException, IOException {Configuration configuration=new Configuration();FileSystem fs = FileSystem.get(new URI("hdfs://192.168.67.90:9000"), configuration);RemoteIterator<LocatedFileStatus> it = fs.listFiles(new Path("/"), true);while (true){if(it.hasNext()){LocatedFileStatus next = it.next();System.out.println(next.getBlockSize()+" "+next.getReplication()+" "+next.getBlockLocations()+" "+next.getPath());}else {break;}}}
}

2.代码运行

3.具体代码解析

1)获取块大小

next.getBlockSize()

2)获取副本数:

next.getReplication()

3)获取块位置

next.getBlockLocations()

4)获取文件路径

next.getPath()


http://www.ppmy.cn/server/14555.html

相关文章

R可视化:分组频率分布直方图和密度图

介绍 ggplot2绘制分组频率分布直方图和密度图 加载R包 knitr::opts_chunk$set(message FALSE, warning FALSE) library(tidyverse) library(patchwork) library(ggpubr) library(rstatix)# rm(list ls()) options(stringsAsFactors F) options(future.globals.maxSize …

ContentServiceImpl

目录 1、 ContentServiceImpl 1.1、 publish 1.2、 getContents 1.3、 getArticles 1.4、 getArticlesWithpage 1.5、 deleteByCid 1.6、 updateCategory

制作github.io学术个人主页

制作如图的学术个人主页。About me - Xianwen Ling’s Blog 学术个人主页是一个学者展示个人学术成果和研究方向的重要工具。个人主页可以集中展示学者的研究论文、出版物、演讲和发布的项目等学术成果&#xff0c;这样其他人可以更方便地了解和评估学者的研究贡献。个人主页可…

【06-监控与优化生产环境中的机器学习模型】

文章目录 前言为什么需要监控监控关键指标准确性跟踪响应时间资源使用模型优化策略数据重新采样超参数调整模型融合自动化和持续学习持续集成/持续部署 (CI/CD)模型服务结语前言 在上一篇博文中,我们讨论了如何解读模型预测结果和将模型部署到生产环境的策略。本篇文章将关注于…

穿越障碍:最小路径和的高效算法比较【python力扣题64】

作者介绍&#xff1a;10年大厂数据\经营分析经验&#xff0c;现任大厂数据部门负责人。 会一些的技术&#xff1a;数据分析、算法、SQL、大数据相关、python 欢迎加入社区&#xff1a;码上找工作 作者专栏每日更新&#xff1a; LeetCode解锁1000题: 打怪升级之旅 python数据分析…

深入理解Vue插槽

子组件ChildComp.vue <template><slot></slot><slot name"slot1"></slot><slot name"slot2" msg"hello world"></slot> </template>父组件App.vue <script setup> import { ref } from…

苹果电脑怎么清除微信数据更高效的软件?苹果电脑怎么清微信聊天记录 Mac清理微信缓存

随着社交软件在日常生活中扮演的角色日益增大&#xff0c;微信等应用程序成为了我们沟通的重要工具。然而&#xff0c;长时间的使用会让这些应用程序积累大量的缓存数据和聊天记录&#xff0c;这不仅占用了宝贵的存储空间&#xff0c;而且有时候还会影响应用程序的运行效率。因…

Outlook 邮箱使用技巧

Outlook 邮箱是一个强大而受欢迎的电子邮件应用程序&#xff0c;它不只是用来发送和接收邮件&#xff0c;还有很多实用的技巧和功能可以提高工作效率。在本文中&#xff0c;我将分享一些 Outlook 邮箱的使用技巧&#xff0c;帮助您更好地管理电子邮件和提高工作效率。 设置自动…

编译一个基于debian/ubuntu,centos,arhlinux第三方系统的问题解答

如果是开机卡boot注意看前面几行会有错误提示&#xff0c;一般会比较好找&#xff0c;下面是过了kernel内核加载后出现的问题 目录 上一篇文章 第一个问题 错误原因 解决办法 第二个问题 注意 第三个问题 上一篇文章 编译一个基于debian/ubuntu,centos,arhlinux第三方系…

《八》QSplitter拆分器以及QDockWidget窗口详解

QSplitter简介 QSplitter拆分器允许用户通过拖动子部件之间的边界来控制它们的大小。 单个拆分器可以控制任意数量的小部件。QSplitter的典型用法是创建几个小部件&#xff0c;并使用insertWidget()或addWidget()添加它们。 常用方法 默认情况下&#xff0c;QSplitter会动态…

【每日算法】理论:深度学习基础 刷题:栈与队列的转换

上期文章 【每日算法】理论&#xff1a;深度学习基础 刷题&#xff1a;KMP算法思想 文章目录 上期文章一、上期问题二、本期理论问题1、RAW图像和RGB图像的区别&#xff1f;2、LSTM模型3、卷积层和池化层有什么区别4、tokenizer 的分词方法有那些&#xff1f;5、10亿个参数的模…

C# String类的方法

比较两个指定的字符串对象&#xff0c;并返回一个整数&#xff0c;指示它们在排序顺序中的相对位置 比较两个指定的字符串对象&#xff0c;并返回一个整数&#xff0c;指示它们在排序顺序中的相对位置。 但是&#xff0c;如果Boolean参数为true&#xff0c;则忽略大小写 string…

学术新宠SCOPUS期刊,双一流高校高度认可,平均2-4个月录用发表

一说到国际数据库&#xff0c;往往大家第一想到的是SCI、SSCI、EI等&#xff0c;其实&#xff0c;作为爱思唯尔推出的国际核心数据库SCOPUS&#xff0c;在国际学术界已有较高影响力&#xff0c;尤其在东南亚国家&#xff0c;已经把发表SCOPUS期刊作为博士毕业的硬性要求&#x…

【JavaWeb】Day51.Mybatis动态SQL(一)

什么是动态SQL 在页面原型中&#xff0c;列表上方的条件是动态的&#xff0c;是可以不传递的&#xff0c;也可以只传递其中的1个或者2个或者全部。 而在我们刚才编写的SQL语句中&#xff0c;我们会看到&#xff0c;我们将三个条件直接写死了。 如果页面只传递了参数姓名name 字…

目标检测YOLO数据集的三种格式及转换

目标检测YOLO数据集的三种格式 在目标检测领域&#xff0c;YOLO&#xff08;You Only Look Once&#xff09;算法是一个流行的选择。为了训练和测试YOLO模型&#xff0c;需要将数据集格式化为YOLO可以识别的格式。以下是三种常见的YOLO数据集格式及其特点和转换方法。 1. YOL…

第十五届蓝桥杯省赛第二场C/C++B组A题【进制】题解(AC)

解题思路 按照题意进行模拟&#xff0c;计算 x x x 的 b b b 进制过程中&#xff0c;若出现余数大于 9 9 9&#xff0c;则说明 x x x 的 b b b 进制一定要用字母进行表示。 #include <iostream> #include <cstring> #include <algorithm> #include &l…

【注释和反射】获取class类实例的方法

目录 一、获取一个类的Class对象的几种方法 代码 二、哪些类型可以有Class对象&#xff1f; 代码 一、获取一个类的Class对象的几种方法 Class对象是访问类元数据的入口&#xff0c;通过它可以获取类的名称、方法、字段、构造器、注解等信息&#xff0c;还可以创建类的实例…

CSS3新增特性(二)

四、2D 转换 • 属性名&#xff1a;transform &#xff08;可用于制作2D转换&#xff0c;也可用于制作3D转转换&#xff1b;2D转换是平面上的转换&#xff0c;3D转换是在三维立体空间的转换&#xff09; • 作用&#xff1a;对元素进行水平或垂直方向的移动、缩放、旋转、拉长…

【OpenHarmony-NDK技术】简单将cJson移植到OpenHarmony中,并在c层修改参数值再返回json

1、cJson的简单介绍 cJson - github网址 概述 一般使用cJson是&#xff0c;需要将json文本转化为json对象–编码&#xff0c;将json对象转化为json文本–解析。 git clone https://github.com/DaveGamble/cJSON.git 后留意cJSON.h和cJSON.h两个文件。 1、cJson的介绍 cJso…

ABAP 第三代增强(BADI)--BADI旧方法

文章目录 第三代增强&#xff08;BADI&#xff09;--BADI旧方法需求分析确定BADI使用SE18查看BADIBADI的创建实施逻辑代码编写测试注意事项 第三代增强&#xff08;BADI&#xff09;–BADI旧方法 第三代增强BADI&#xff1a;全称是&#xff08;Business Add-Ins&#xff09; …