收藏 分销(赏)

基于Hadoop的智慧社区大数仓库系统设计与开发_胡必波.pdf

上传人:自信****多点 文档编号:277450 上传时间:2023-06-26 格式:PDF 页数:4 大小:345.53KB
下载 相关 举报
基于Hadoop的智慧社区大数仓库系统设计与开发_胡必波.pdf_第1页
第1页 / 共4页
基于Hadoop的智慧社区大数仓库系统设计与开发_胡必波.pdf_第2页
第2页 / 共4页
基于Hadoop的智慧社区大数仓库系统设计与开发_胡必波.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023.4电脑编程技巧与维护1概述智慧社区充分利用物联网、云计算、移动互联网等新一代信息技术,通过数字化信息技术将管理、服务提供者与每个社区的住户紧密地连接在一起,使服务提供者、社区管理者与居民之间可以实时地进行各种形式的信息交互,营造一个丰富多彩的虚拟社区,为居民提供一个安全、舒适、便利的生活环境,拉近与物业管理者之间的距离,快速传递物业消息,更好地了解、响应、跟进、满足居民的各种意见和物业管理需求,提高住户对物业管理的评价和认可。智慧社区主要由智慧物业管理系统、慧小区公共服务系统、社区信息发布系统、人脸识别系统、楼宇可视云对讲系统等子系统组成。智慧社区的一大特点就是利用大数据进行社区治理

2、,通过对信息进行深入分析,可以对某些情况的发生进行预计、预判。例如,通过对用电数据的分析,预测独居老人的状况;通过对门岗进出人员的流量数据分析,规划安保资金的投入。有了“数据池”之后,要利用它来支撑社区精准治理,充分运用相关系统和信息平台,建立相应的场景并分析应用模型,动态监测、研判、分析社区实时状况,而不是一味追求设施、设备上的高端豪华、高额投入,却没有对社区治理能力进行质的提升。Hadoop是一个由Apache软件基金会所开发的分布式系统基础架构,主要解决海量数据的存储、分析和计算问题,具有高可靠性、高扩展性、高效性、高容错性。Hadoop的 框 架 核 心 设 计 是Hadoop分 布

3、式 文 件 系 统(HDFS)、MapReduce和另一种资源协调者(YARN)。HDFS为海量的数据提供了存储;而MapReduce为海量的数据提供了计算;YARN只负责资源的调度。针对传统社区选择比较迫切、影响大、可行性高的业务项目,通过对抓取的海量数据进行深入分析,实现对社区状况充分预判下的“超前治理”。2大数据仓库分层架构智慧社区大数据仓库分层架构如图1所示,各系统的元数据通过数据抽取转换和加载(ETL)同步到操作性数据仓库ODS中,对ODS数据进行面向主题域建模形成数据仓库(DW),DW包含DWD和DWS,DM是针对某个业务领域建立模型,具体用户(决策层)查看DM生成的报表。复杂的任

4、务可以被分解成多层,每一层只处理相应的任务,减少重复开发,提高计算结果的复用性。通过分层隔离原始数据,使真实数据与统计数据隔离开,ODS之后层级的数据处理,无论出现数据的异常还是数据的敏感,都可以重新从ODS再计算。数 据 源 是 数 据 库 的 数 据 来 源,可 以 为MySQL、SQLServer、Oracle等,一般存在于现有的业务系统中;基金项目:Hadoop生态圈课程教研室(项目编号:ZL20221008)。基于 Hadoop 的智慧社区大数仓库系统设计与开发胡必波,左文涛,刘钟凌,王传传,马明辉(广州工商学院工学院,广州510850)摘要:传统社区管理主要通过人工信息登记打电话、

5、登门、拜访等管理方式,不仅效率不高,还重复劳动,更无法满足超大社区的治理需求。Hadoop 是 Apache 软件基金会旗下的一个开源分布式计算平台,为用户提供了系统底层细节透明的分布式计算架构。针对智慧社区后端数据分析仍需加强的问题,基于 Hadoop 设计了一款智慧社区大数据仓库系统,构建业务数据采集平台,数据仓库维度建模。为智慧社区运营驾驶舱(车辆进出、门禁刷卡、社交电商等)提供数据支持,提高智慧社区的数据处理能力。关键词:Hadoop 平台;智慧社区;大数据仓库;大数据仓库分层架构图1智慧社区大数据仓库的分层架构数据应用BI分析消息推送千人千面用户画像反欺诈数据接口数据集市聚合数据多维

6、数据业务模型DWS层数据仓库DWD层ODS层数据采集与ETL异构数据源网络数据ERP数据仓储数据业务数据财务数据日志数据终端数据100DOI:10.16184/prg.2023.04.0492023.4电脑编程技巧与维护日志文件的数据来源,可以为启动日志、事件埋点日志等,通常落盘到Nginx服务器的本地磁盘。ETL处理实现将数据从来源迁移到目标,主要包括数据抽取、数据转换、数据加载等。ODS层作为数据库到数据仓库的一种过渡,将数据源中的数据,经过ETL之后装入ODS层,ODS的数据结构一般与数据来源保持一致,便于减少ETL的工作复杂性。DWD层的表结构和粒度与原始表保持一致,不过需要对ODS层

7、数据进行清洗、维度退化、脱敏等,最终得到的是干净的、完整的、一致的数据。DWD层一般采用星型模型构建维度模型。DWS层是基于DWD层上的明细数据,按天轻度汇总成某个主题域的服务数据,一般是宽表。DWS层统计各主题对象当天的行为及一些业务明细数据,服务于DM层的某一个主题域宽表。例如,每日业主行为、每日车辆行为。应用型数据库服务(ADS)层以DW为基础,为各 种统计报表提供汇总数据,将分析汇总数据同步到关系型数据库服务(RDS)数据库。RDS用于支撑日常的业务活动。DM层基于DW上,整合汇总成分析某一个主题域的服务数据,一般是宽表,用于提供后续的业务查询、联机分析处理(OLAP)分析、数据分发等

8、,每个应用都有属于自己的DM。3架构设计与技术选型系 统 数 据 采 集 选 用Flume、Logstash、Filebeat、Sqoop、Canal、DataX、DBus等;数据存储与交换选用Kafka、MySQL、HDFS;数 据 计 算 选 用MapReduce、Hive、Impala、Spark、Iflink、Wormhole等;数据查询选用Presto、Druid、Impala、Kylin、ClickHouse等;数据可视化采用ECharts、Davinci、DataV、Superset等;作业调度选用Azkaban、Oozie、Dolphin Scheduler;基础设施采用Apa

9、che、Ambari、CM等。使用软件版本Hadoop 2.9.1、Zookeeper 3.4.6、Hive 2.3.7、Sqoop 1.4.6、JDK 1.8、Azkaban 3.8、Davinci、MySQL 5等。大数据仓库数据流程设计如图2所示。4智慧社区大数据仓库实施4.1搭建大数据仓库 ODS 层ODS层保持数据原貌不做任何修改,可压缩数据,并通过创建分区表,防止后续的全表扫描。除了自己用的临时表可以创建内部表,其他大部分场景需要创建外部表。数据同步策略的类型包括全量表、增量表、新增及变化表。以车辆进出表为例,创建外部表代码如下。drop table if exists o_sca

10、_cars_log_d;create external table o_sca_cars_log_d(id string COMMENT 车辆进出记录ID,opTime string COMMENT 创建时间,ctype string COMMENT 车辆进出类型,carCode string COMMENT 车牌号,cId string COMMENT 小区id)COMMENT车辆进出表PARTITIONED BY(dt string)row format delim-ited fields terminated by tSTORED AS textfilelocation/warehous

11、e/sca/ods/o_sca_cars_log_d/;4.2搭建大数仓库 DWD 层DWD层对用户行为数据解析;对核心数据进行空值过滤;对业务数据采集维度模型重新建模,即维度退化。DWD层构建维度模型,如图3所示。车辆进出事实表,建表代码如下。drop table if exists d_cars_log_d;create external table d_cars_log_d(id string COMMENT 车辆进出记录ID,ownerId string COMMENT 业主ID,opTime string COMMENT 创建时间,cId string COMMENT 小区ID,图2

12、大数据仓库数据流程设计图3DWD层构建维度模型DBlogsSqoopDataXFlumeODSDWDDWSADSSqoopDataXServingDBMapReduce/HiveSQL/Impala/SparkSQLAzkaban/OozieEntrance_guard_log(门禁事实表)Cars_log(车辆进出事实表)housedistrictroomcommunity(地区维度表)(车辆维度表)date(日期维度表)ower(业主维度表)1012023.4电脑编程技巧与维护carCode string COMMENT车牌号,ctype string COMMENT 车辆进出类型,)CO

13、MMENT车辆进出事实表PARTITIONED BY(dt string)stored as parquetlocation/warehouse/sca/dwd/d_cars_log_d/;4.3搭建大数据仓库 DWS 层以每日车辆出行行为为例,建表代码如下:drop table if exists s_car_behavior_d;create external table s_car_behavior_d(carCode string COMMENT 车牌号,carColor string COMMENT 车辆颜色,type string COMMENT 车辆类型,ownerId stri

14、ng COMMENT 业主ID,ownerSex string COMMENT 业主性别,ownerAge string COMMENT 业主年龄,ownerHomeplace string COMMENT 业主籍贯,ownerWorkplace string COMMENT 业主工作地,community_id string COMMENT 小区ID,communityName string COMMENT 小区名字,city_id string COMMENT 城市ID,district_id string COMMENT 区县ID,district_name string COMMENT

15、 区划名称,car_in_cnt bigint COMMENT 车辆驶入次数,car_out_cnt bigint COMMENT 车辆驶出次数)COMMENT 每日车辆出行行为 PARTITIONED BY(dt string)stored as parquet4.4搭建大数据仓库 ADS 层小区出行数据统计,需求分析如下。统计每日刷卡次数、输入密码次数、人脸识别次数及远程次数。小区出行数据统计,建表代码如下。drop table if exists ads_entrance_guard_d;create external table ads_entrance_guard_d(dt stri

16、ng comment 统计日期entrance_card_cnt bigint COMMENT 每日刷卡次数entrance_pw_cnt bigint COMMENT 每日输入密码次数entrance_face_cnt bigint COMMENT 每日人脸识别次数entrance_remote_cnt bigint COMMENT 每日远程次数)comment 每日门禁总计表row format delimited fields terminated by tlocation/warehouse/sca/ads/ads_en-trance_guard_d;车辆出行数据统计,需求分析如下。统

17、计每日车辆驶入次数和驶出次数。建表代码如下。drop table if exists ads_car_pass_d;create external table ads_car_pass_d(dt string comment 统计日期,car_in_cnt bigint COMMENT 每日车辆驶入次数,car_out_cnt bigint COMMENT 每日车辆驶出次数)comment 每日车辆进出总计表 row format delimited fields terminated by tlocation/warehouse/sca/ads/ads_car_pass_d;4.5Azkab

18、an 作业调度Azkaban是LinkedIn开发的一个批处理工作流作业调度器,用于允许处理Hadoop任务等。提交执行流程界面后,可以从“流程视图”界面的“执行”选项卡,“历史记录”界面或“执行”界面访问这些流程。此界面类似于“流程视图”界面,但显示运行作业的状态。选择工作列表将给出执行工作的时间表,可以直接从此列表中访问作业和作业日志,也可以在执行流程上执行一些选项,包括取消、暂停、恢复、重试失败、准备执行等大数据作业调度如图4所示。5结语智慧社区大数据仓库主要涉及业务数据和用户行为数据等。在业务流程中产生的交易、状态流转、用户等相关的数据,通常存储在DB中,包括关系数据库管理系统(RDB

19、MS)、非关系型的数据库(NoSQL)等,这部分数据是业务相关的,具体哪些数据需要保留由业务侧设计,不需要过度关注,按用户实际需要采集即可。用户在使用产品过程中,与客户端产品交互过程中产生的数据。例如,页面浏览、点击、停留等,这部分数据由于不影响业务流程本身,通常不受关注,但对运营、产品优化至关重要。因此,它通常也是数据建设的一部分,需要单独设计数据埋点、采集策略。图4大数据作业调度1022023.4电脑编程技巧与维护电之后用万用表测量各节点模块的瞬态电压,确保各供电电压值在一定误差范围内符合要求。(2)时钟与复位测试。时钟测试主要用示波器测量各晶振输出及PLL时钟的频率是否满足要求。复位测试

20、主要在模块上电瞬间观察上电复位,以及在模块工作时进行手动复位,观察处理器模块是否会重启。(3)中断输入测试。模块的操作系统启动以后,在测试台拨动开关模拟中断输入,观察串口信息确认进入的中断服务函数,判断中断号与中断服务函数是否相对应。(4)离散量输出测试。在Tornado 2.2环境下向8位寄存器中写值,用示波器测量离散量输出电平的高低,判断与寄存器写入的值是否一致。(5)测 试 程 序 验 证。编 写 测 试 程 序,对CPU、SDRAM、Flash、NvRAM和以太网等进行测试,测试5个循环后,观察程序是否会报错。4.3测试结果分析通过对模块进行调试,设计的国产化处理器模块能够正常启动,各

21、个测试项均能通过验证,具体结果如下:通过用万用表对模块的静态电阻和瞬态电压进行测量,结果表明静态电阻符合典型阻值要求,并且上电后的瞬态电压满足供电要求;用示波器测量各晶振及PLL时钟的频率,均能满足设计要求;对模块进行手动复位后模块能重新启动,表明手动复位各模块上的器件是有效的;在测试台拨动各个开关模拟中断输入,处理器均能正常进入相应的中断服务函数,外部中断输入有效;用示波器测量离散量的输入电平均与寄存器中写入的值相对应,离散量输出无误;测试程序验证结果如图4所示,CPU、SDRAM、Flash、NvRAM和以太网均可通过测试程序验证,各器件均能正常工作。5结语随着嵌入式软硬件朝着国产化的方向

22、发展,进行了基于SM755处理器的国产化处理模块的设计验证。通过实际测试,国产化处理模块能够正常启动SM755处理器,并且中断输入和离散量输出测试符合预期的要求,SDRAM、Flash、NvRAM和以太网均可通过测试程序验证。测试结果表明,设计的国产化处理模块能够实现特定的数据处理功能。参考文献1马威,姚静波,常永胜,等.国产CPU发展的现状与展望J.集成电路应用,2019,36(4):5-8.2杨涛,李成文,刘宇,等.机载PowerPC系列高性能处理器模块硬件设计J.大众科技,2015,17(5):1-4.3刘博,陈颖图,雷偲凡.PowerPC8270数据处理模块的PCI接口设计J.信息通信

23、,2019(6):42-43.4俞大磊,张亦姝,韩强,等.基于PowerPC的嵌入式单板计算机设计方案探讨J.工业控制计算机,2016,29(12):83-86.5候小盈,强凯,李璐,等.基于P2040处理器的启动机制设计J.信息技术与信息化,2022(2):118-121.图4测试程序验证结果参考文献1熊超,阿拉拇,胡必波,等.Hadoop大数据平台自动化运维工具Ambari部署及应用J.信息技术与信息化,2022(8):21-24.2白晓涛.智慧社区管理系统的研究与设计D.武汉:武汉邮电科学研究院,2020.3郭守文.基于Django的智慧社区后台管理系统设计与实现D.杭州:浙江工业大学,2020.4雷博文.基于大数据的实时数据仓库的设计与实现D.北京:中国地质大学,2021.5杨细勇.大数据数据仓库商业智能平台设计与实现J.福建电脑,2020,36(12):35-38.6李杰,刘广钟.Hadoop分布式集群的自动化容器部署研究J.计算机应用研究,2016,33(11):3404-3407.7林子雨.大数据技术原理与应用M.3版.北京:人民邮电出版社,2021.(上接第59页)103

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 毕业论文/毕业设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服