import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.BlockLocation;
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.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.apache.hadoop.io.IOUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
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 java.net.URISyntaxException;
public class hdfs2 {
//定义连接地址变量
private final String hdfs_path = "hdfs://bigdata01:9000";
FileSystem fileSystem;
Configuration configuration;
//初始化
@Before
public void init() throws URISyntaxException, IOException, InterruptedException {
//获取配置对象
configuration = new Configuration();
//获取连接地址,配置对象,用户
fileSystem = FileSystem.get(new URI(hdfs_path), configuration, "AzF");
System.out.println("集群已经初始化完成");
}
//重命名文件
@Test
public void rename() throws IOException {
//需要重命名的文件名
Path path1 = new Path("/input/a.txt");
//命名后的文件名
Path path = new Path("/input/c.txt");
//判断需要重命名的文件是否存在,存在即命名,否则失败
boolean exists = fileSystem.exists(path1);
if (exists){
//重命名
boolean rename = fileSystem.rename(path1, path);
if (rename) {
System.out.println(
java代码操作hadoop基本命令(加强版)
最新推荐文章于 2024-05-09 23:38:57 发布