同步操作将从 wux-labs/DataService-Framework 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
基于大数据平台的数据处理服务框架。
结合大数据项目实际使用场景,提取出的一些通用的功能,形成大数据平台数据处理框架。
目前主要实现的功能有:
1、参数信息配置模块,可实现采用数据库进行配置和Properties文件进行配置
2、集成Kafka,实现了Kafka的生产者和消费者相关的功能
3、集成MongoDB,实现了MongoDB的数据读取、写入等,实现了SparkSQL通过DataFrame与MongoDB的数据进行交互,并且实现了分页读取、流式读取等特殊读取方式
4、集成Redis,实现了Redis的读取、写入等,实现了SparkSQL通过DataFrame与Redis的数据进行交互
5、SparkStreaming流式处理Kafka、MongoDB的数据
6、手动记录Kafka的偏移量,实现了基于数据库进行记录和基于Zookeeper进行记录
7、集成了规则引擎,客户标签、客户画像等功能可基于规则引擎进行实现
软件结构如下:
DataService-Framework 项目根目录
├── commons 公共功能模块,提供配置文件读取、数据库连接、日志打印、工具类等公共功能,以供其他模块调用。
├── examples 样例模块,提供各个功能点的样例代码。
├── kafka-clients KafkaClients相关功能,比如生产者、消费者等。
├── kafka-streams 主题数据过滤模块,Kafka自带的流处理功能,业务系统记录的日志如果包含了大量的:程序异常日志、数据库操作日志、调试日志等日志信息,而采集的数据只需要日志文件中的特定数据的日志记录,那么对于我们采集到的日志来说,可能会有90%以上的日志都是垃圾数据,但是Flume组件没有提供日志过滤功能,而Spark程序又不应该消费这些数据。这时就需要提供一个中间层,将Flume采集到的Topic1的日志中满足条件的数据筛选出来放到Topic2中,Spark程序只需要消费Topic2的数据即可,过滤条件按照正则表达式进行配置。这样Spark消费Topic2的数据都是我们需要的数据,并且我们可以及时的清理掉Topic1的数据以释放空间。
├── rule-engine 规则引擎功能。
├── spark-sql SparkSQL相关功能,扩展了Dataset/DataFrame的方法,集成Redis数据的读写、MongoDB数据的读写。
├── spark-streaming SparkStreaming实时数据处理模块,通过SparkStreaming程序,准实时消费Kafka中的数据,流式方式处理MongoDB中的数据。
└── third-party 第三方源码
├── hammurabi Scala规则引擎
├── mongodb Spark操作MongoDB
└── redislabs Spark操作Redis
目前,软件实现了Flume数据采集、Kafka主题数据过滤、SparkStreaming实时数据处理。但是SparkStreaming的数据处理只实现了代码值标准化等基础功能。并且,目前默认支持的采集日志格式只有两种:分隔符分隔字段的数据、JSON格式的数据。
功能扩展可以从两个方面进行:
数据端配置工具:数据端配置工具.xlsx
环境搭建部署文档:环境搭建部署文档.docx
软件开发打包文档:软件开发打包文档.docx
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。