• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
寒阳墨
博客园    首页    新随笔    联系   管理    订阅  订阅

hadoop常用api编写

package hsfs常用api;

import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;

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

//FileSystem类 用于管理hdfs下的文件

public class api {
public static final String HDFS_PATH = "hdfs://192.168.23.128:9000";
public static final String DIR_PATH = "/234";
public static final String FILE_PATH = "/234/f345";

public static void main(String[] args) throws Exception {
final FileSystem filesystem = FileSystem.get(new URI(HDFS_PATH) , new Configuration()); //构建FileSystem类对象

//创建文件夹
// makedirectory(filesystem);
//上传文件
// uploaddata(filesystem);
//下载文件
// downloaddata(filesystem);
//删除文件(夹)
delete(filesystem);
}

private static void delete(final FileSystem filesystem) throws IOException {
filesystem.delete(new Path(FILE_PATH), true); //删除FILE_PATH下文件(夹)
}

private static void downloaddata(final FileSystem filesystem)
throws IOException {
final FSDataInputStream in = filesystem.open(new Path(FILE_PATH)); //在hdfs上创建输入流文件FILE_PATH
IOUtils.copyBytes(in, System.out, 1024, true);//输出到控制台
}

private static void uploaddata(final FileSystem filesystem)
throws FileNotFoundException, IOException {
final FileInputStream in = new FileInputStream("/usr/local/f345"); //在本地新建文件f345
final FSDataOutputStream out = filesystem.create(new Path(FILE_PATH));//在hdfs上创建输出路径FILE_PATH
IOUtils.copyBytes(in, out, 1024, true); //(输入,输出,换冲,true)
}

private static void makedirectory(final FileSystem filesystem)
throws IOException {
filesystem.mkdirs(new Path(DIR_PATH)); //在hdfs上新建文件在路经DIR_PATH下
}
}

posted @ 2014-08-11 20:56  寒阳墨  阅读(349)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3