基于Hadoop的租房数据分析模型的设计与实现
摘 要
租房数据分析系统是一个基于Hadoop的大数据平台,它使用B/S架构、Django框架和MySQL数据库技术为用户提供全面的租赁信息和数据支持。该系统功能丰富,包括管理员系统主页、个人中心、用户管理、公寓信息管理、租房数据管理和系统管理,以及首页、公寓信息、租房数据、公寓信息和个人中心模块。通过这些功能,用户可以轻松搜索合适的公寓,了解租赁趋势和热门地区,管理员可以有效地管理用户和公寓信息,以确保系统正常运行和数据安全。该系统采用Hadoop技术处理和分析大量租房数据,为用户提供准确的市场分析和决策参考,帮助他们更好地了解租赁市场情况。租房数据分析系统是业主、租户和代理人的重要工具,为租赁市场的健康发展提供了强有力的支持。
关键词:数据分析;Django;MySQL数据库
Abstract
The rental data analysis system is a big data platform based on Hadoop, which uses B/S architecture, Django framework, and MySQL database technology to provide users with comprehensive rental information and data support. The system has rich functions, including administrator system homepage, personal center, user management, apartment information management, rental data management and system management, as well as homepage, apartment information, rental data, apartment information and personal center modules. Through these features, users can easily search for suitable apartments, understand rental trends and popular areas, and administrators can effectively manage user and apartment information to ensure the normal operation of the system and data security. The system uses Hadoop technology to process and analyze a large amount of rental data, providing users with accurate market analysis and decision-making references, helping them better understand the rental market situation. The rental data analysis system is an important tool for homeowners, tenants, and agents, providing strong support for the healthy development of the rental market…
Key words: data analysis; Django; MySQL database
目 录
基于Hadoop的租房数据分析模型的设计与实现 I
摘 要 I
1 绪 论 1
1.1课题背景 1
1.2 课题目的及意义 1
1.3课题研究现状 2
1.4 论文主要工作内容 3
2 系统关键技术 4
2.1 Python语言 4
2.2 MySQL数据库 4
2.3 Hadoop介绍 5
2.4 Django框架 6
2.5 VUE框架 6
2.6 B/S结构 6
3 系统分析 8
3.1需求分析 8
3.2 系统可行性分析 8
3.2.1 系统技术可行性 9
3.2.2 操作可行性 9
3.2.3 经济可行性 9
3.2.4社会可行性 10
3.2.5 法律可行性 10
3.3 非功能性需求 10
3.3 系统性能分析 11
3.3.1 系统安全性 11
3.3.2 数据完整性 11
3.4 系统功能分析 12
3.5 系统流程分析 13
3.5.1 数据开发流程 13
3.5.2 用户登录流程 13
3.5.3 系统操作流程 14
3.5.4 添加信息流程 15
3.5.5 修改信息流程 16
3.5.6 删除信息流程 16
4 系统设计 18
4.1 系统概要 18
4.2 系统结构设计 18
4.3数据库设计 19
4.3.1 数据库设计原则 19
4.3.2 数据库实体 19
4.3.3 数据库表设计 20
4.4 系统时序图 23
4.4.1 注册时序图 24
4.4.2 登录时序图 24
4.4.3 管理员修改用户信息时序图 25
4.4.4 管理员管理系统信息时序图 26
5 系统的实现 27
5.1 基本任务 27
5.2 前台首页功能模块 27
5.3管理员模块实现 29
6 系统测试 35
6.1 测试环境 35
6.2 程序测试 35
6.3 测试的重要性 35
6.4 测试方案 36
6.5 单元测试 37
6.5.1 注册测试 37
6.5.2 登录测试 38
6.6 集成测试 38
结 论 39
参考文献 40
致 谢 42
1 绪 论
1.1课题背景
目前,公共租赁公寓已初步开发,并有一定供应。在新时代背景下,城市化的加速导致了对公共租赁住房的需求持续增加。然而,公屋租金率低的问题更加明显,供需结构性失衡严重。农村外出务工人员、新就业学生等保障租住公共住房的群体数量将逐步增加。实现城市化率提高的一个重要杠杆是农民在城市的定居。为了使他们能够在城市地区“扎根”,他们必须首先有一个居住的地方。然而,城市农民的文化水平低,就业竞争力不足,收入低且不稳定,购买力低,一旦进入城市,他们的生存压力就会增加。这群人迫切需要公共住房。此外,从2001年开始,新毕业的学生人数逐年增加。这群人普遍收入低,住房压力大,毕业后3-5年内迫切需要公共住房作为临时公寓。。
1.2 课题目的及意义
在快速发展的城市环境中,租房已成为许多城市居民的基本要求。随着互联网的快速发展和高度协同效应,开发租房数据诊断系统将有助于通过技术方法、提高市场绩效和优化租赁体验来解决市场失衡问题。该研究旨在建立一个有效、准确和用户友好的诊断平台,该平台可以处理和识别重要的租房数据,提供深入的市场信息,并帮助用户提供租房数据。该系统还旨在为管理者提供强大的数据管理和数据管理公司,确保合同的安全性和透明度,促进市场租赁的标准发展。
租金信息分析系统的研究为用户提供了一个中值信息平台,显示了租金、住房分布和成本变化等关键线索,对数据进行了更大的分析。这大大降低了租户的信息成本,提高了租赁决策的有效性和质量。对于土地所有者和房地产运营商来说,租金分析系统可以帮助他们更好地了解市场需求,最大限度地提高住房规划,提高服务质量,增加竞争。从更广泛的角度来看,该系统的安装和使用将有助于控制租赁市场,打击非法行为,保护消费者权益,促进租赁市场的健康有序发展。最后,作为大数据研究的一个例子,关于诊断系统信息租赁的研究结果将促进一种与地区相关的方法,并为未来解决类似问题提供教育支持和有益经验。。
1.3课题研究现状
作为重要的研究成果,推荐算法自1990年以来已经发展了近20年。目前,它主要包含以下类型的算法推荐。一名顾问,负责收集和查询用户和零件属性信息,提取零件属性以描述零件,基于类用户零件描述用户属性,构建用户和零件图像,并使用与用户和零件特性对应的属性来计算个人建议的意义。有两种类型的协同过滤算法。一种是基于测量相似事物和以前喜爱的事物的协同过滤算法。它根据用户的行为文件历史记录计算部件之间的相同内容,并根据类似内容向用户推荐。基于用户文件历史记录,这可以提供很好的解释。另一种类型是地面用户的协同过滤算法,它定义了不同符号和a对同一对象的行为,找到一组具有相似兴趣的相似用户,并向该用户推荐他们想要但没有的相似用户集。书签参考时间提取零件特征、用户的书签,并计算用户通常使用的书签。类似的项目由可以反映部分和用户兴趣的字符进行匹配。通过在用户、标签和零件之间创建第三个连接,可以选择相似的零件,并使用标签集推荐用户。混合推荐是对其他算法推荐的大量使用,að通过组合多个算法推荐,结合各种算法推荐的优点,同时避免每个算法推荐的缺点,提高算法推荐的影响,并为用户提供足够的结果,从而建立在混合体推荐的基础上。上述建议的信息在几个方面存在差异,但现在还没有完整的建议体系。这些通常是建议体系中的以下问题:(1)感冒初期疾病。对于系统中新注册的用户,由于无法从用户行为设置中扣除用户行为信息的历史记录,也无法以有趣的方式提供给他们,或者对于新更新的项目,无法进行部分属性分配并推荐给用户;在新开发的系统中,由于起始剂量或成分很少,推荐的系统无法达到有效的效果。(2) 当用户的兴趣发生变化或不同用户共享同一帐户时,基于历史行为信息的推荐将是不正确的。咨询心理学过于依赖历史行为信息,这可能会导致在复杂的用户兴趣推荐中出现错误。(3) 相关性差的问题是,建议体系通常侧重于提高建议的合法性和有效性等实际影响。然而,由于组件属性的复杂性,很难给出适当的建议理由。如果不同的项目具有相同的标签,并且差异不显著,用户可能会对标签解释不满意。
1.4 论文主要工作内容
本文设计并制作了一个基于Hadoop的诊断系统,主要包含以下具体功能内容:
(1) 基于国内和国际层面的适当系统进行系统分析,明确个人中心、用户管理、房屋信息管理、租赁信息管理和系统管理的主要需求;
(2) 使用Python语言和MySQL数据库以及Django框架为系统设计和激活系统的技术解决方案。
(3) 特别指定了每个活动单元的组成和执行。
(4) 对个人中心、用户管理、房屋管理、租赁管理、系统管理和系统的其他活动进行了重大测试。。
2 系统关键技术
2.1 Python语言
Python是由荷兰数学与计算机科学综合中心的Guido van Rossum在20世纪90年代初设计的,作为ABC语言的补充。[1] Python提供了主动高级构建,并允许您对简单和主动部分进行编程。Python的配置和活动类型以及翻译语言的性质使其成为在大多数平台上编写和快速开发应用程序的应用程序语言。随着版本的不断更新和新语言的添加,它逐渐被用于独立的大型项目开发。[3] Python适合那些开始学习各种编程语言的人。Python解释器易于扩展,可用于用C、C++或其他可以在C中调用的语言扩展新功能和数据类型。[4]Python也可以用作额外的应用程序语言。丰富的标准Python库提供了适用于各种大型系统平台的源代码或引擎代码。 [4]。
2.2 MySQL数据库
MySQL是由MySQL AB在瑞典开发的链接数据库系统。MySQL是最流行的关系数据库系统之一,在Web应用程序方面,MySQL是最好的RDBMS(关系数据库管理系统)应用程序之一。MySQL是一个关系数据库系统,将数据存储在不同的表中,而不是将所有数据存储在一个大型数据库中,从而提高速度和灵活性。MySQL使用的SQL语言是访问数据库的最常用的标准语言。MySQL软件包含双重许可政策,分为社区版和经济版。由于其体积小,速度快,总拥有成本低,特别是开源功能,MySQL通常被选为开发小型和大型网站的网站数据库。MySQL是一个关系数据库管理系统(RDBMS),最初由MySQL公司在瑞典开发,现在由Oracle公司拥有。MySQL是目前最常用的连接数据库系统, 特别是在Web应用程序. MySQL是最流行的RDBMS应用程序之一. 作为一个连接的数据库系统,MySQL的想法是将数据分类为不同的表, 主和外部键放置在每个表中, 将所有表连接在一起.MySQL不能管理所有数据,这节省了大量的查询时间,并在操作过程中提高了查询效率。目前,MySQL所使用的SQL语言已成为访问数据库的最常用的标准语言。MySQL具有体积小,查询速度快,开放和自由的优点。由于MySQL是开放和免费的,因此MySQL已成为中小型网站的首选数据库。
MYSQL数据库具有以下特点:
1.使用C和C++进行测试,以确保源游戏集合的生产力和灵活性。
2.控制操作系统的数量,包括AIX、FreeBSD、HP-UX、Linux和Mac OS,以及Novell的Netware、OpenBSD、OS/2软件包、Solaris、Windows等。
3.为不同的应用程序提供API。C、C++、Python和Java、Perl、PHP[UNK]埃菲尔铁塔、Ruby和Tcl等应用程序。
4.以及那些习惯于支持多学科的雇主。
5.算法优化查询SQL,有效提高搜索速度。
6.客户和互联网服务器可用于独立于软件环境进行编程,,用于支持多种语言,可以插入数据表中,以访问可用程序,可用作名称。
7.TCP/IP、ODBC和JDBC数据库,并提供与其他数据库的链接。
8.一家管理公司,负责管理、管理和优化数据处理活动。
9.数以百万计的文件可以存储在一个大型数据库中。
2.3 Hadoop介绍
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System)。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 [1]。。
2.4 Django框架
Django是一个先进的Python网络系统,允许您快速开发一个安全和可持续的网站。根据开发人员的经验,Django负责处理web开发中的问题部分,并且可以专注于编写程序而无需进行更新。这是一个自由开放的地址,有一个积极发展的社会,丰富的文件和许多免费且负担得起的解决方案。[8] 2.2019年12月,Django 3.0免费。Django是一个开放的图像、视图和控制风格的web应用程序,由Python高级编程语言管理,该语言来自开源社会。通过这种架构,程序可以轻松快速地创建高质量、易于维护的数据库应用程序。这也是OpenStack地平线部分采用这种架构设计的主要原因。此外,Django还包含许多强大的第三方程序,使Django非常普及。Django项目开始于互联网新闻,并于2005年作为开源发布。
。
2.5 VUE框架
Vue(expressed/vju├/,类似于视图)是一个用于构建用户界面的JavaScript框架。它基于标准的HTML、CSS和JavaScript,提供了一个定义性的、参与式的应用程序模型,支持主动用户界面开发。Vue可以处理简单和复杂的适配器。[9] Vue是由游玉玺于2014年创建的一个独立的社会项目,作为他的个人项目。这是一个经过许多实际测试的先进环境。它现在是制造环境中使用最多的JavaScript框架之一,可以轻松处理大多数web应用程序,而无需手动优化。Vue完全有能力处理大型程序。[5]Vue.js正在开发一个框架来构建用户界面,该框架采用自下而上的开发方式设计,而核库只专注于查看。另一方面,Vue完全有能力驱动使用一个文件部分和Vue环境系统支持的库开发的复杂单向应用程序。
2.6 B/S结构
B/S(浏览器/服务器)模型,也称为B/S架构,是在web源代码之后出现的一种网络结构。Web怀疑是主要的客户端应用程序。该模型将客户和服务器上的系统中央操作部分结合在一起,简化了系统的开发、维护和使用。客户端只需要安装一个疑点,服务器上需要安装SQL服务器、Oracle、MySql和另一个数据库;浏览器通过web服务器将数据库连接到ð数据交换。浏览器是指在未来进行少量合同理论,但在在中间进行主要合同理论的网络浏览器。B/S架构系统不需要特定的设置,只需要足够的组织怀疑。现在我们在未来只做了几件事,大部分规则都在后面应用。
B/S架构:
与只有两层的C/S架构不同,B/S架构有三层,即:
第一层表现层:主要介绍用户到端的交互和问题的输出功能。
第二层逻辑层:主要使用服务器来完成客户端的编程规则。
第三层数据层:主要负责在收到客户请求后独立执行多项操作
图2-1 B/S模式三层结构图
3 系统分析
3.1需求分析
为了在实际情况下开发,符合用户的租赁要求进行系统分析,首先需要了解用户。对租房数据分析的需求有深刻的理解,无论设计和工作开发多么出色,都是一个成功的提供商,可以说,如果不能满足用户应用程序的需求,就不会产生很高的使用率,也会给设计带来许多不利因素。分析需求是设计系统期间租金数据分析中更重要的一步,其基础是准确解释什么系统能够做某事的关键问题,最后有关于系统使用的完整信息。
(1) 对功效有一些要求,通过对这些要求的分析,可以发现需要完成的单元的一些基本功能。功效要求也意味着系统的设计需要符合某些要求和限制,如响应时间、信息通信、内存、磁盘、安全性等。
(2) 系统的可靠性系统也是需要考虑的问题,它们可以将可访问性和可靠性结合起来,以显示用户在使用时经常遇到的问题。计算机系统还需要处理错误,以显示系统如何应对环境问题。如果您的系统从其他系统接收到打破特定模式的信息,系统应该如何反应。
(3) 还有一些矛盾的要求是系统无法做到的。可以说,有很多不同的要求,开发商应该能够准确地了解他们的真实需求,并将其用于分析租房数据。还有一种可能的需求,应该澄清一些情况,尽管目前尚未开发,但根据目前的分析,未来很可能需要租金系统分析数据。在分析了这一需求后,为未来在分析租房数据时可能出现的问题准备了一个设计过程,必要时可以更容易地进行更改。。
3.2 系统可行性分析
租赁诊断系统的主要目的是提供在线信息管理。一旦设定了目标,我们将从以下四个方面分析系统目标是否能够实现:。
3.2.1 系统技术可行性
在现有的网络技术和软件和硬件的基础上,可以开发家具信息系统吗?了解并比较了市场上一般的家具分析系统,以及家具分析系统的评估,预计该系统的发展将在技术方面成为可能。首先,Python语言已经成熟,在市场上非常受欢迎。这个租来的数据分析系统的开发和部署由Python完成,以及市场上成熟的集成开发工具来帮助开发。此外,计算机配备了Windows 10系统,足以满足这个租赁的数据分析系统的发展需求。其次,验证技术的快速发展使得这些家具的数据分析系统非常安全。总之,这种家具分析系统的发展是完全可能的。
3.2.2 操作可行性
操作可行性涉及系统的主动使用、管理和维护。对于基于Hadoop的诊断系统,执行操作的能力主要取决于Hadoop环境的技术知识和Python软件能力。Hadoop需要一个具有Java知识和大量处理数据的技术团队来维护和优化团队,并确保工作关系的稳定性和有效性。与给定的数据分析语言一样,丰富的Python库使统计分析和机器学习模型的构建相对简单。如果你具备这些技能,或者准备好接受培训和学习,那么行动是可能的。还应考虑长期的技术支持和版本更新,以确保系统对技术进步持乐观态度。。
3.2.3 经济可行性
经济效率分析是对在当前经济环境下能否完成该分析系统开发的分析。以下是对与系统开发、管理和维护相关的成本以及集成到完全开发的系统的潜在成本的评估。网络丰富,这个租赁分析系统只需要使用任何开放的网络服务器,而无需投资。开发现场,由于这个租房数据库系统不属于大型系统,普通计算机可以在不购买适当机器的情况下完成开发。连接软件后,可以使用您在线免费获取的软件开发系统。该软件在使用时易于理解,不需要培训,因此不需要投资。由于该系统不属于大型系统,因此在运行时可以忽略电气帐户。自行准备的自主开发系统分析的租房数据可以在不增加工作成本的情况下完成。总体而言,整个开发系统的成本很低,因此这种租房数据系统分析在经济上是有益的。
3.2.4社会可行性