该项目用于从Hive多个数据库及数据表中批量抽取业务数据,并按照约定格式生成BCP文件和ZIP压缩包,实现数据查询、格式转换、文件生成和压缩打包的自动化处理。
系统采用Java开发,通过配置文件维护数据库、表名、查询字段、时间分区字段、文件输出目录、单个BCP文件数据量以及每个ZIP包包含的文件数量。程序支持根据开始时间和结束时间按小时遍历Hive分区,每处理完一个小时的数据后再继续查询下一时间段,避免一次性加载大量数据造成内存压力。
本人负责整体程序结构设计、Hive JDBC连接、Kerberos认证、多线程任务调度、阻塞队列、数据格式转换、BCP文件写入及ZIP压缩逻辑。系统将数据查询、内容组装、文件写入和压缩打包进行解耦,通过线程池和队列实现异步处理。
项目同时增加了异常捕获、日志记录、任务结束标识、文件数量统计及单元测试,支持通过配置调整线程数、队列容量和文件拆分规则。最终提升了大批量数据导出的自动化程度和处理效率,减少了人工操作。
需求方专属客服,免费梳理匹配