技术架构:Hive、ClickHouse、Impala、HBase、MySQL、Kettle、Azkaban、Spark
开发环境:JDK1.8 + Maven + Windows+Idea2021
项目描述:
随着大数据和人力资源信息化的持续发展,人事标签管理系统在企业内部管理中的应用愈发广泛,它为传统制造业实现智能化人事管理奠定了基础,极大地降低了人力资源管理成本,成为传统企业实现数字化转型的重要组成部分。
企业借助人事标签系统,能够对员工信息进行收集、分类、查询以及数据统计、分析等操作。该系统支持多人同时操作,可按部门或职位进行分组管理,在提高工作效率的同时,也便于企业内部各部门之间进行信息交流与共享。它能为企业人力资源领域的信息化建设提供支持,同时也有助于企业更好地筛选和培养优秀人才。
该系统采用B/S架构,应用程序运用Scala和Java语言,依托Maven框架进行开发,并部署在云服务器上。考虑到标签数据的灵活性,我们选取NoSQL型数据库HBase作为主要存储方式,结合Phoenix对HBase的标准解析,对接FineBI进行大屏数据展示,
具体架构设计划分为6个模块:
1、数据源接入模块:该模块分为全量数据同步和增量数据同步两个子模块构成。主要承担数据的传输与清洗的角色。
全量数据同步模块:每日0点同步32张业务表的全量数据,其中三张百万级数据表主要由Java程序完成同步工作,剩余29张万级数据表同步分别由Kettle的29个独立作业承担,所有任务均有Azkaban负责串联调度。
增量数据同步模块:每日7点至23点以间隔10分钟频率进行增量人事数据同步,该模块中所有任务均由Java程序从SF接口进行数据抽取,共计17张增量数据表,定时调度仍由Azkaban进行控制。
2、数仓模块:由HDFS、Hive、Impala、ClickHouse和关系型数据库组成,主要负责数据建模任务,通过将原始数据进行多层处理变换,使最新数据拆分到维度层中存储,历史数据抽象到其余层级进行加工,最终达到分析统计以及展示目的。
3、规则组装模块:由前端输入界面和MySQL数据库组成主要负责生成存储标签系统的规则语句。
4、标签模块:由Spark、HBase结合SHC框架和Phoenix构成,主要负责根据标签规则库中定义的标签规则对人事数据进行标签的组装和生产。
5、日志记录模块:日志模块与系统各个模块部分紧密联系,贯穿程序的整个生命周期,目前各个模块运行日志主要依托于每个软件自身的日志系统,方便整个系统管理、维护、排错。
6、可视化展示模块:
使用FineBI连接Phoenix对标签内容进行展示。
职责描述:
1. 主导整个标签系统的需求调研,以及对应开发组件的选型,调研;
2. 系统架构规划,以及各个模块详细设计开发规划;
3. 数据接入,数据仓库,规则组装,标签生成,运行日志等各个模块的独立开发任务;
4. 整个系统的后期维护,管理和数据分析师的需求对接展现BI商业价值等,以及新需求评估开发;
5. 相关设计文档、使用手册开发等。