HDFS操作
1.shell
1.1 创建目录
hadoop fs -mkdir 目录名(其中/为根目录)
1.2 遍历目录
hadoop fs -ls 目录名
1.3 删除目录
hadoop fs -rmr 目录名
1.4 修改目录
hadoop fs -mv 原目录 目标目录
1.5 上传文件
hadoop fs -put 文件原路径 文件HDFS路径
1.6 查看文件
hadoop fs -cat 文件名(需包含目录)
1.7 删除文件
hadoop fs -rmr 文件名
1.8 修改文件
hadoop fs -mv 源文件 目标文件 2.javaAPI
2.1 FileSystem类
1.1 写文件————create方法
1.2 读取文件————open方法
1.3 删除文件————delete方法
1.4 创建目录————mkdir方法
1.5 列出目录内容————listStatus方法
1.6 显示目录和文件元数据信息————getFileStatus方法
2.2 使用步骤
2.1 导入相关jar
2.2 得到Configuration对象
2.3 得到hdfs的URI对象
2.4 得到FileSystem对象
2.5 调用filesystem的相关方法 示例:
package testHadoop; import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.URI; 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.Path;
import org.apache.hadoop.io.IOUtils; public class testJavaAPI { public static void main(String[] args) throws Exception{
String url = "hdfs://hadoop:9000";
Configuration conf = new Configuration();
URI uri = new URI(url);
FileSystem fs = FileSystem.get(uri, conf); listPath(url, fs,"/");//遍历目录 fs.mkdirs(new Path("/input/test"));//创建目录
System.out.println("创建文件夹成功!");
listPath(url, fs,"/input/test"); fs.delete(new Path("/input/test"));//删除目录
listPath(url, fs, "/input"); //创建文件
FSDataOutputStream out = fs.create(new Path("/input/test.ini"));
out.writeUTF("This is first test data!");
out.flush();
out.close();
System.out.println("创建文件成功!");
listPath(url, fs, "/input"); //读取文件
FSDataInputStream in = fs.open(new Path("/input/test.ini"));
IOUtils.copyBytes(in, System.out, 1024);
IOUtils.closeStream(in);
System.out.println("读取文件成功!"); //删除文件
fs.delete(new Path("/input/test.ini"));
System.out.println("删除文件成功!");
listPath(url, fs, "/input"); //本地文件上传到服务器
File file = new File("d:/data.txt");
FileInputStream in_local = new FileInputStream(file);
FSDataOutputStream out_local = fs.create(new Path("/input/data.ini"));
int i;
while ((i=in_local.read())!= -1){
out_local.write(i);
}
out_local.flush();
in_local.close();
out_local.close();
listPath(url, fs, "/input"); } private static void listPath(String url, FileSystem fs ,String path) throws FileNotFoundException, IOException {
FileStatus[] status = fs.listStatus(new Path(path));
for(FileStatus s : status){
String isDir = s.isDir()?"目录":"文件";
System.out.println(s.getPath().getName() + " " + isDir);
}
System.out.println("遍历文件夹成功");
} }

  

HDFS操作的更多相关文章

  1. python基础操作以及hdfs操作

    目录 前言 基础操作 hdfs操作 总结 一.前言        作为一个全栈工程师,必须要熟练掌握各种语言...HelloWorld.最近就被"逼着"走向了python开发之路, ...

  2. Azkaban实战,Command类型单一job示例,任务中执行外部shell脚本,Command类型多job工作flow,HDFS操作任务,MapReduce任务,HIVE任务

    本文转载自:https://blog.csdn.net/tototuzuoquan/article/details/73251616 1.Azkaban实战 Azkaba内置的任务类型支持comman ...

  3. 假期学习【三】HDFS操作及spark的安装/使用

    1.安装 Hadoop 和 Spark 进入 Linux 系统,参照本教程官网“实验指南”栏目的“Hadoop 的安装和使用”,完 成 Hadoop 伪分布式模式的安装.完成 Hadoop 的安装以后 ...

  4. HDFS追本溯源:HDFS操作的逻辑流程与源码解析

    本文主要介绍5个典型的HDFS流程,这些流程充分体现了HDFS实体间IPC接口和stream接口之间的配合. 1. Client和NN Client到NN有大量的元数据操作,比如修改文件名,在给定目录 ...

  5. Tutorial 02_熟悉常用的HDFS操作

    Shell命令实现: (1)向HDFS 中上传任意文本文件,如果指定的文件在HDFS 中已经存在,则由用户来指定是追加到原有文件末尾还是覆盖原有的文件: (2) 从HDFS 中下载指定文件,如果本地文 ...

  6. 熟悉常用的HDFS操作

    编程实现以下指定功能,并利用Hadoop提供的Shell命令完成相同任务: 在本地Linux文件系统的“/home/hadoop/”目录下创建一个文件txt,里面可以随意输入一些单词. 在本地查看文件 ...

  7. 第三章 熟悉常用的HDFS操作

    一.Hadoop提供的Shell命令完成相同任务: 1.在本地Linux文件系统的“/home/hadoop/”目录下创建一个文件txt,里面可以随意输入一些单词. mkdir hadoop 在本地查 ...

  8. HDFS操作及小文件合并

    小文件合并是针对文件上传到HDFS之前 这些文件夹里面都是小文件 参考代码 package com.gong.hadoop2; import java.io.IOException; import j ...

  9. 第4章 HDFS操作

    目录 4.1 命令行操作 4.2 Java API操作 4.2.1 创建Java工程 4.2.2 读取数据 4.2.3 创建目录 4.2.4 创建文件 4.2.5 删除文件 4.2.6 遍历文件和目录 ...

随机推荐

  1. JSP多文件上传到服务器

    问题描述: 作为一个Java开发Web方向的程序员,很重要的一个功能,就是上传文件功能是一定要掌握的,今天整理了一下代码. 1.JSP显示界面代码和动态添加上传文件个数. <%@ page la ...

  2. JS学习笔记(不断更新)

    1 基础知识 为什么学习 JavaScript? JavaScript web 开发人员必须学习的 门语言中的一门: HTML 定义了网页的内容 CSS 描述了网页的布局 JavaScript 网页的 ...

  3. Tomcat服务器配置以及相关配置文件介绍

    摘自:http://blog.163.com/ny_lonely/blog/static/18892427320136925044357/ context.xml 文件   配置属性说明     用于 ...

  4. Greenplum-概念篇

    Greenplum主要组件包括:Master.Segments.Interconnect:其他组件包括ETL Server.Greenplum command center等.0. 组件之-Maste ...

  5. FFT NNT

    算算劳资已经多久没学新算法了,又要重新开始学辣.直接扔板子,跑...话说FFT算法导论里讲的真不错,去看下就懂了. //FFT#include <cstdio> #include < ...

  6. js事件技巧方法整合

    window.resizeTo(800,600); //js设置浏览器窗口尺寸 window.open (function(){ resizeTo(640,480);//设置浏览器窗口尺寸 moveT ...

  7. Linux学习之五--常用操作

    文件操作: rm命令 删除文件夹实例:rm -rf /var/log/httpd/access将会删除/var/log/httpd/access目录以及其下所有文件.文件夹 2 删除文件使用实例:rm ...

  8. ffmpeg 常用命令

    mp4中的h264编码,而h264有两种封装: 一种是annexb模式,传统模式,有startcode,SPS和PPS是在ES中:另一种是mp4模式,一般mp4.mkv.avi会没有startcode ...

  9. JDBC、DAO

    JDBC是Java数据库连接技术的简称,提供连接各种常用数据库的能力 JDBC的工作原理 JDBC 驱动器由数据库厂商提供 1.在个人开发与测试中,可以使用JDBC-ODBC桥连方式 2.在生产型开发 ...

  10. android 决解启动屏白黑屏会延迟几秒的问题

    通常写启动屏,都有个很不喜欢的问题,就是会空白几秒才显示界面,而且界面还是很简单的! 解决办法 1 写一个透明的主题,一般启动屏都是不要bar的所以继承AppTheme.NoActionBar < ...