当前位置: 首页 > news >正文

【Java-HDFS】使用Java操作HDFS获取HDFS指定目录下的数据量大小

  • Maven依赖
<dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>RELEASE</version></dependency><dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.8.2</version></dependency><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-common</artifactId><version>3.1.1</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-client --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>3.1.1</version></dependency><!-- https://mvnrepository.com/artifact/org.apache.hadoop/hadoop-hdfs --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-hdfs</artifactId><version>3.1.1</version></dependency>
<dependencies>
  • HDFSUtils工具类
package gaei.cn.x5l.x5lhive2cos.utils;import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.security.UserGroupInformation;import java.io.FileNotFoundException;
import java.io.IOException;public class HdfsUtils {private static final Configuration conf = new Configuration();private static FileSystem fs;public static void init() {//本地认证kerberos认证
//        System.setProperty("java.security.krb5.conf", "D:/cyp/Chinasoft/keytab/prd_keytab/krb5.conf");
//        conf.set("hadoop.security.authentication", "kerberos");
//        UserGroupInformation.setConfiguration(conf);
//        try {
//            UserGroupInformation.loginUserFromKeytab("x9e@PRD.X8V.COM", "D:/cyp/Chinasoft/keytab/prd_keytab/x9e.keytab");
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//        System.out.println(Thread.currentThread().getContextClassLoader());try {//将core-site.xml和hdfs-site.xml放在resource目录下即可,必须指定,不然获取不到HDFS的nameserver等信息conf.addResource(Thread.currentThread().getContextClassLoader().getResource("./core-site.xml"));conf.addResource(Thread.currentThread().getContextClassLoader().getResource("./hdfs-site.xml"));fs = FileSystem.get(conf);} catch (FileNotFoundException fnfe) {fnfe.printStackTrace();} catch (IOException ioe) {ioe.printStackTrace();}}public static long getHdfsSampleDateSize(String hdfsPath) {long length = 0L;try {length = fs.getContentSummary(new Path(hdfsPath)).getLength();} catch (IOException e) {e.printStackTrace();}return length;}public static void close() {try {fs.close();} catch (IOException ex) {ex.printStackTrace();}}
}
http://www.lryc.cn/news/156463.html

相关文章:

  • 协议定制 + Json序列化反序列化
  • 系统架构设计师(第二版)学习笔记----系统架构概述
  • FPGA基本算术运算
  • Linux Input子系统
  • commet与websocket
  • python3 简易 http server:实现本地与远程服务器传大文件
  • Microsoft Edge 主页启动diy以及常用的扩展、收藏夹的网站
  • 文末送书!谈谈原型模式在JAVA实战开发中的应用(附源码+面试题)
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR启动时打印starting server:listen tcp,该如何解决?
  • 【Linux从入门到精通】通信 | 管道通信(匿名管道 命名管道)
  • 实践和项目:解决实际问题时,选择合适的数据结构和算法
  • 上线检查工具(待完善)
  • PE文件格式详解
  • 【Alibaba中间件技术系列】「RocketMQ技术专题」RocketMQ消息发送的全部流程和落盘原理分析
  • 关于vue首屏加载loading问题
  • 数据库性能测试实践:慢查询统计分析
  • windows wsl ssh 配置流程 Permission denied (publickey)
  • OpenCV(五):图像颜色空间转换
  • 一图胜千言!数据可视化多维讲解(Python)
  • Hbase相关总结
  • C++ Primer Plus第二章编程练习答案
  • Web后端开发(请求响应)上
  • LeetCode 338. Counting Bits【动态规划,位运算】简单
  • 解释 Git 的基本概念和使用方式。
  • 计算机网络初识
  • python 笔记(2)——文件、异常、面向对象、装饰器、json
  • Meta AI的Nougat能够将数学表达式从PDF文件转换为机器可读文本
  • 【Python爬虫笔记】爬虫代理IP与访问控制
  • 50、Spring WebFlux 的 自动配置 的一些介绍,与 Spring MVC 的一些对比
  • 【算法专题突破】双指针 - 和为s的两个数字(6)