# DataBand **Repository Path**: hua_big/databand ## Basic Information - **Project Name**: DataBand - **Description**: DataBand(数据帮),快速采集清洗,任务管理,实时流和批处理数据分析,数据可视化展现,快速数据模板开发,ETL工具集、数据科学等。是轻量级的一站式的大数据平台。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 642 - **Created**: 2020-12-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DataBand数据帮 轻量级一站式大数据分析平台 项目启动于2020-10-26,持续更新中。 #### 介绍 DataBand(数据帮),快速采集清洗,任务管理,实时流和批处理数据分析,数据可视化展现,快速数据模板开发,ETL工具集、数据科学等。是轻量级的一站式的大数据平台。 我们致力于通过提供智能应用程序、数据分析和咨询服务来提供最优解决方案。 #### 软件架构 ![架构](https://gitee.com/475660/databand/raw/master/files/DataBand_structure.png "DataBand数据帮系统架构") #### 技术栈 #### 存储 - 分布式存储:HDFS、HBase - 行式关系存储:MySQL、Oracle - 列式存储:ClickHouse - 列族存储:HBase、Cassandra - 文档库:ElasticSearch、MongoDB #### 计算 - 计算引擎:Presto、Hive - 流处理:Storm、Flink #### 集成: - Flume - Filebeat - Logstash #### 前端技术栈 - Vue - Element UI #### 后端技术栈 - Spring Boot - Spring Cloud - MyBatis #### 工程说明 #### 大数据模拟数据源生成数据(数据准备工程) 数据源: ![数据源](https://gitee.com/475660/databand/raw/master/files/DataBanddatasource.png "DataBand数据源") - databand-mock-api:接口模拟工具,模拟业务系统api; - databand-mock-log:日志模拟工具,手动产生大量的日志数据供调试测试,比如Syslog、log、CSV生成、Json、MySQL注入、RPC写、NetCat等; - databand-mock-mq:日志模拟工具,通过MQ写产生大量的日志数据供调试测试,比如RabbitMQ写、Kafka写等; - databand-mock-hadoop:大数据日志模拟工具,hdfs和mapreduce相关; #### 数据采集清洗(采集清洗工程) ![ETL](https://gitee.com/475660/databand/raw/master/files/etl.png "DataBand 数据采集清洗") - databand-mr-hadoop:hadoop的mapreduce运算帮助工程,提供了一些实例; - databand-mr-spark:spark基于rdd和stream的替换hadoop的mapreduce运算帮助工程; - databand-hive-sql:hive数据仓库SQL查询功能,能将SQL语句转变成MapReduce任务来执行。通过类似SQL语句实现快速MapReduce统计分析; - databand-etl-cassandra:基于flink-connector-cassandra实现的source和sink为cassandra数据迁移转换工程; - databand-etl-flink:流式数据迁移,基于flink的FlatMapFunction、MapFunction、KeySelector、ReduceFunction、Sink、Source定制扩展工程,实现高度灵活的实时流采集转换; - databand-etl-flume:flume数据采集和聚合,更多介绍见:https://www.cnblogs.com/starcrm/p/11909979.html - databand-etl-hadoop:hdfs的数据存储和工具; - databand-etl-kafka:基于flink-connector-kafka实现的source和sink为kafka数据迁移转换工程; - databand-etl-hive:hive数据仓库etl工程; - databand-etl-mysql:mysqldump和binlog的全量和增量数据库同步数据; - databand-etl-rabbitmq:基于flink-connector-rabbitmq实现的source和sink为kafka数据迁移转换工程; - databand-etl-sqoop:sqoop用于关系数据库和hadoop家族(hdfs、hive、hbase)之间的ETL。更多介绍见:https://www.cnblogs.com/starcrm/p/14034304.html - databand-etl-storm:流式数据迁移,提供了一些演示。 - databand-etl-mysql-clickhouse:一个具体的通过元组实现Mysql到clickhouse的数据迁移工程; - databand-etl-mysql-elasticsearch:一个具体的通过元组实现Mysql到clickhouse的数据迁移工程; - databand-etl-mysql-hive:一个具体的通过元组实现Mysql到hive的数据迁移工程; - databand-etl-mysql-kafka:一个具体的通过元组实现Mysql到kafka的数据迁移工程; - databand-etl-mysql-redis:一个具体的通过元组实现Mysql到redis的数据迁移工程; #### 数据分析作业(定时作业调度工程) (** 待开发) - databand-job:定时任务作业调度服务,支持shell,hive,python,spark-sql,java jar任务。 #### 数据分析门户(后端管理和前端展示工程)(** 待开发) - databand-ui:前端UI工程,数据展现; - databand-admin:后端权限、关系、站点配置管理; - databand-api:数据api服务; - databand-tools:BI工具集; #### 使用说明 #### databand-mock-api (模拟数据源API工程) API模拟工具 - App.java:一个简单的mock控制台程序 [api mock详情介绍](https://www.yuque.com/docs/share/162f64f8-bc27-41c1-818c-57f6a953fab1#JLCoA) [api mock工程源码](https://gitee.com/475660/databand/tree/master/databand-mock-api) #### databand-mock-log (模拟数据源生成日志数据工程) 日志模拟工具 目前是简单的控制台小程序,直接运行main即可。 - CsvMock.java:csv文件生成,运行后在"FILE_PATH"定义的文件夹中可找到csv文件: - LogMock.java:log文件生成,生成路径见配置文件:logback.xml。 win下默认“c:/logs/”,linux 或 mac下路径请自行修改: - JsonMock.java:json文件生成,在"FILE_PATH"定义的文件夹中可找到json文件: - XmlMock.java:xml文件生成,在"FILE_PATH"定义的文件夹中可找到json文件: - RpcMock.java:rpc输出,运行后可以用flume(或filebeat)进行测试,配置文件见:/flumeConf/avro-memory-log.properties:运行脚本: flume-ng agent --conf conf --conf-file /usr/app/apache-flume-1.8.0-bin/avro-memory-log.properties --name a2 -Dflume.root.logger=INFO,console - SyslogMock.java:syslog(udp)输出,运行后可以用flume(或filebeat)进行测试,配置文件见:/flumeConf/syslog-log.properties: - TcpMock.java:Tcp输出,运行后可以用flume进行测试,配置文件见:/flumeConf/syslog-log.properties: - MySQLMock.java:mysql数据生成,通过list键值对形式对数据表进行写操作。 [log mock工程源码](https://gitee.com/475660/databand/tree/master/databand-mock-log) #### databand-mock-mq (模拟数据源生成日志数据工程) MQ消息模拟生成工具 目前是简单的控制台小程序,直接运行main即可。 - KafkaProducer.java:Kafka消息生成: - KafkaConsumer.java:Kafka消息消费: - RabbitMQProducer.java:RabbitMQ消息生成: - RabbitMQConsumer.java:RabbitMQ消息消费: [mq mock工程源码](https://gitee.com/475660/databand/tree/master/databand-mock-mq) #### ...更多工程正在开发中,不定期更新,因为都是使用业余时间,如更新稍慢还请谅解,但这个工程一定不会是烂尾工程,长期更新维护,本人的工作重心领域也是大数据。