# bigdata-springboot-demo **Repository Path**: Turnip1202/bigdata-springboot-demo ## Basic Information - **Project Name**: bigdata-springboot-demo - **Description**: No description available - **Primary Language**: HTML - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-11-27 - **Last Updated**: 2025-11-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Big Data Spring Boot Demo 一个面向开源的示例项目集合,使用 Spring Boot 提供对 Hadoop 生态的常见组件进行后端接口封装,涵盖 HDFS、Hive、HBase 三个独立示例。每个示例均包含 REST API 与 Swagger 文档,便于快速集成与二次开发。 ## 模块概览 - `hdfs-demo`:使用 Java API 操作 HDFS 的目录、文件与权限(端口见 `hdfs-demo/src/main/resources/application.yml:37`) - `hive-demo`:通过 JDBC 操作 Hive,执行 SQL、管理库表(端口见 `hive-demo/src/main/resources/application.yml:60`) - `hbase-demo`:通过原生 API 或 Thrift 连接 HBase,进行表与数据读写(端口见 `hbase-demo/src/main/resources/application.yml:75`) ## 运行环境 - Java 8(`pom.xml` 中 `maven.compiler.source`/`target` 为 1.8) - Maven 3.6+ - Hadoop/HDFS 集群(RPC 端口,如 8020/9000) - HiveServer2(默认 10000) - HBase 集群与 ZooKeeper(默认 2181)或 HBase Thrift Server(默认 9090) ## 快速开始 1. 克隆仓库后进入各子模块目录:`hdfs-demo`、`hive-demo`、`hbase-demo` 2. 修改各模块的 `application.yml` 连接信息: - HDFS:设置 `hdfs.path` 与 `hdfs.user`(示例见 `hdfs-demo/src/main/resources/application.yml:17`,端口需为 NameNode RPC) - Hive:设置 `hive.jdbc-url`、`username`、`password`(见 `hive-demo/src/main/resources/application.yml:9`、`:11`、`:12`) - HBase:选择连接方式 `hbase.connection-type` 并配置 ZooKeeper 或 Thrift(见 `hbase-demo/src/main/resources/application.yml:16`、`:25`、`:38`、`:40`) 3. 构建与运行(任选其一): - 方式 A:在模块目录内执行 `mvn spring-boot:run` - 方式 B:打包运行 - `mvn clean package -DskipTests` - `java -jar target/-1.0-SNAPSHOT.jar` 启动后访问 Swagger 文档: - HDFS:`http://localhost:<端口>/swagger-ui.html` - Hive:`http://localhost:<端口>/swagger-ui.html` - HBase:`http://localhost:<端口>/swagger-ui.html` 实际端口以 `server.port` 为准: - HDFS:`hdfs-demo/src/main/resources/application.yml:37` - Hive:`hive-demo/src/main/resources/application.yml:60` - HBase:`hbase-demo/src/main/resources/application.yml:75` ## 功能与接口 - HDFS - 目录管理、文件读写、权限设置 - 入口类:`hdfs-demo/src/main/java/com/szewec/HdfsDemoApplication.java:12` - 配置关键项:`hdfs-demo/src/main/resources/application.yml:17`(`hdfs.path`) - Hive - SQL 查询与更新、数据库/表管理 - 入口类:`hive-demo/src/main/java/com/szewec/HiveDemoApplication.java:11` - 配置关键项:`hive-demo/src/main/resources/application.yml:9`(`hive.jdbc-url`) - HBase - 表管理、数据读写,支持 `native` 与 `thrift` 两种连接方式 - 入口类:`hbase-demo/src/main/java/com/szewec/HbaseDemoApplication.java:11` - 配置关键项:`hbase-demo/src/main/resources/application.yml:16`(`connection-type`)、`:25`(`zookeeper-quorum`)、`:38`(`thrift-server-host`) 更多接口请进入各模块的 Swagger 页面查看。 ## 目录结构 - 根目录 - `hdfs-demo/`、`hive-demo/`、`hbase-demo/`:三个独立 Spring Boot 示例 - 每个模块包含: - `src/main/java/.../DemoApplication.java`:应用入口 - `src/main/resources/application.yml`:连接与端口配置 - `controller/`、`config/`、`utils/`:接口、配置与工具类 ## 常见配置提示 - HDFS:确保使用 NameNode 的 RPC 端口,示例 `hdfs-demo/src/main/resources/application.yml:17` - Hive:`jdbc:hive2://host:10000/`,见 `hive-demo/src/main/resources/application.yml:9` - HBase:默认 `native` 通过 ZooKeeper(见 `hbase-demo/src/main/resources/application.yml:25`);如用 Thrift,请先启动 Thrift Server 并设置主机与端口(见 `hbase-demo/src/main/resources/application.yml:38`、`:40`) ## 构建与依赖 - 三个模块均基于 Spring Boot `2.0.2.RELEASE` - 依赖使用 Cloudera 仓库与 Maven Central(见各模块 `pom.xml`) - 日志通过 `log4j-over-slf4j` 统一桥接至 SLF4J/Logback,避免依赖冲突 ## 开源协议与贡献 - 建议选择适合的开源协议(如 MIT、Apache-2.0);如未指定,默认保留所有权利 - 欢迎通过 Pull Request 贡献:提交前请保证模块可构建与运行,更新对应模块的 `README.md` 与 `application.yml` 示例 ## 致谢 项目旨在帮助开发者快速对接 Hadoop 生态的常用组件,作为参考示例可自由扩展至生产场景。