织云等待中...

1.16总结

Java代码
package HDFSApi;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.;
import java.io.;
public class HDFSApi {
/**

  • 下载文件到本地

  • 判断本地路径是否已存在,若已存在,则自动进行重命名
    /
    public static void copyToLocal(Configuration conf, String remoteFilePath, String
    localFilePath) throws IOException {
    FileSystem fs = FileSystem.get(conf);
    Path remotePath = new Path(remoteFilePath);
    File f = new File(localFilePath);
    / 如果文件名存在,自动重命名(在文件名后面加上 0, 1 ...) */
    if (f.exists()) {
    System.out.println(localFilePath + " 已存在.");
    Integer i = 0;
    while (true) {
    f = new File(localFilePath + "" + i.toString());
    if (!f.exists()) {
    localFilePath = localFilePath + "" + i.toString();
    break;
    }
    }
    System.out.println("将重新命名为: " + localFilePath);
    }

    // 下载文件到本地
    Path localPath = new Path(localFilePath);
    fs.copyToLocalFile(remotePath, localPath);
    fs.close();
    }

/**

  • 主函数
    */
    public static void main(String[] args) {
    Configuration conf = new Configuration();
    conf.set("fs.default.name","hdfs://node1:8020");
    String localFilePath = "E:/text.txt"; // 本地路径
    String remoteFilePath = "/user/root/text.txt"; // HDFS 路径
    try {
    HDFSApi.copyToLocal(conf, remoteFilePath, localFilePath);
    System.out.println("下载完成");
    } catch (Exception e) {
    e.printStackTrace();
    }
    }
    }

运行结果

(3)将HDFS中指定文件的内容输出到终端中;

java代码
package HDFSApi;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.;
import java.io.;
public class HDFSApi {
/**

  • 读取文件内容
    */
    public static void cat(Configuration conf, String remoteFilePath) throws IOException {
    FileSystem fs = FileSystem.get(conf);
    Path remotePath = new Path(remoteFilePath);
    FSDataInputStream in = fs.open(remotePath);
    BufferedReader d = new BufferedReader(new InputStreamReader(in));
    String line = null;
    while ( (line = d.readLine()) != null ) {
    System.out.println(line);
    }
    d.close();
    in.close();
    fs.close();
    }
posted @ 2024-01-16 13:37  奉禾  阅读(10)  评论(0)    收藏  举报