前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Hadoop中的文件操作 FileSystem

Hadoop中的文件操作 FileSystem

作者头像
星哥玩云
发布2022-06-29 19:24:42
发布2022-06-29 19:24:42
5240
举报
文章被收录于专栏:开源部署开源部署

文件路径问题:

本地文件(linux)的路径要写为 file:///开头的,然后加上实际文件路径。例如:file:///home/myHadoop/test

集群中的文件路径为以/开头。例如:/temp/test

命令行操作,以删除为例,在hadoop集群中的任何一台节点上操作:

1.删除集群中的文件

hdfs dfs -rmr  /temp/test    hadoop 2.2.0写法

hadoop fs -rmr /temp/test  旧版本的写法

2.删除本地机器节点的命令

hdfs dfs -rmr  file:///home/myhadoop/test

hadoop fs -rmr /temp/test

查看hadoop Filesystem shell命令:http://hadoop.apache.org/docs/r2.2.0/hadoop-project-dist/hadoop-common/FileSystemShell.html

java操作文件  org.apache.hadoop.fs.FileSystem

Fileystem是一个抽象类,可以用它来实现获取本地文件系统或者集群文件系统

Configuration conf  = new Configuration();

      Fileystem fs = FileSystem.get(URI.create(path), conf);

其中path为上面所说的文件路径,若是集群文件路径,则获得集群文件系统,若是本地文件路径,则获得本地文件系统。

例子:实现copyFromLocal的shell命令

package com.alm.main;

import java.io.IOException; import java.net.URI;

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

public class FileSystemTest {   public static void main(String args[]) throws IOException{   FileSystem fs;    Configuration conf  = new Configuration();   fs = FileSystem.get(URI.create("hdfs://192.168.1.85:9000"), conf);   fs.copyFromLocalFile(false, true, new Path("file:////home/myhadoop2/Desktop/testcp1"), new Path("hdfs://192.168.1.85:9000/testforcp/testcp1"));   } }

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档