您的位置:首页 > 编程语言 > Java开发

hadoop的基本命令、java程序处理hd…

2017-05-15 15:14 615 查看
基本命令:

hadoop fs -命令 (这里命令一般和Linux中的命令一样)

※这里一定要在~/.bashrc中进行配置,不然不会生效,在配置文件中加上下面语句

export HADOOP_HOOM=/usr/local/hadoop (这要写自己hadoop的安装路径)

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

常用命令:

hadoop fs -mkdir /user/用户名 ——创建默认工作目录,用户名是你的用户名也可以用这个语句创建其他目录

hadoop fs -ls —— 查看

hadoop fs -lsr —— 递归查看

hadoop fs -put example.txt . —— 从本地复制到hdfs的默认工作目录,注意后面有个.

hadoop fs -get example.txt —— 从hdfs中取出example.txt

hadoop fs -cat example.txt —— 显示hdfs中example.txt数据

hadoop fs -help 命令 —— 了解该命令详细内容

hadoop fs —— 查看hadoop该版本全部命令

※这些命令基本都是对hdfs的操作

java编程处理hdfs文件

FileSystem类:与文件系统交互,调用factory方法

Configuration类:保留键值对

例:
package org.apache.hadoop.examples;

import java.io.IOException;

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;

public class PutMerge {

publicstatic void main(String[] args) throws IOException{
Configuration conf = new Configuration();
FileSystemhdfs = FileSystem.get(conf);
FileSystemlocal = FileSystem.getLocal(conf);

PathinputDir = new Path(args[0]);  //设置输入目录
PathhdfsFile = new Path(args[1]);  //设置输出目录

try{
FileStatus[]inputFiles = local.listStatus(inputDir); //得到本地文件列表
FSDataOutputStream out = hdfs.create(hdfsFile); //生成hdfs输出流

for(int i=0;i
System.out.println(inputFiles[i].getPath().getName());
FSDataInputStream in = local.open(inputFiles[i].getPath());//打开本地输入流
bytebuffer[] = new byte[256];  //java复制过程
intbytesRead=0;
while((bytesRead = in.read(buffer))>0){
out.write(buffer, 0, bytesRead);
}
in.close();
}
out.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: