基于spark的二手房数据分析可视化系统

发布于:2025-07-18 ⋅ 阅读:(15) ⋅ 点赞:(0)

前言

这个只是有项目引入spark集群,以及用sparksql对数据进行分析,后续的内容和代码几乎跟之前的一样(我写过一片pyecharts+django可视化大屏的文章,里面有源码)

pyecharts+Django二手房分析可视化大屏(含源码)-CSDN博客

pyecharts二手房数据可视化分析(含3D图)-CSDN博客

思维导图

启动大数据集群

这些环境数科生应该都有配好吧?!

启动Hadoop集群

start-all.sh

启动spark集群

./start-all.sh

解释一下

root@master sbinj# jps
3458 ResourceManager   # YARN 资源管理进程
3187 SecondaryNameNode # HDFS 二级元数据备份进程
4835 Jps               # jps 命令本身的进程(可忽略)
2900 NameNode          # HDFS 主元数据管理进程
4734 Master            # Spark 或其他框架的主进程(需结合集群配置确认)

进入mysql,建立新数据库

CREATE DATABASE ershoufang;
SHOW DATABASES;

spark分析

我用的是idea编译器,用的是虚拟环境

我觉得大部分人都已经构建好了,就展示截图,不详解了

from pyspark.sql import SparkSession
from pyspark import SparkConf
from pyspark.sql.functions import col, regexp_extract, when
from pyspark.sql import functions as F
# 创建Spark会话
conf = SparkConf() \
    .setAppName("PySpark 的数据读写") \
    .setMaster('spark://192.168.126.10:7077') \
    .set("spark.driver.host", "192.168.126.1")
spark = SparkSession.builder.config(conf=conf).getOrCreate()

# 读取CSV文件
df = spark.read.csv('hdfs://192.168.126.10:9000/data/ershoufang_data_processed.csv', header=True)
df = df.na.drop()
city_counts = df.groupBy("城市") \
    .count() \
    .orderBy(F.desc("count")) \
    .withColumnRenamed("count", "total") \

url = "jdbc:mysql://192.168.126.10:3306/ershoufang"
properties = {
    "user": "root",
    "password": "123456",
    "driver": "com.mysql.jdbc.Driver"
}
# 写数据到MySQL的test数据库的movie表,无需预先在MySQL创建表。自动在mysql创建movie表
city_counts.coalesce(1).write.format('jdbc') \
    .option('url', url) \
    .option('dbtable', 'city_counts') \
    .option('user', properties['user']) \
    .option('password', properties['password']) \
    .option('driver', properties['driver']) \
    .option('mode', 'append') \
    # .save()  # 第一次建表时使用.save()。append为追加数据模式,overwrite覆盖数据模式

进行数据分析完成后(这个就是对各城市房源的汇总),存入mysql(远程环境的mysql,也就是虚拟机),然后建立django环境生成图表

已经有个例子了,剩下的数据分析应该都容易了吧(毕竟源码之前都更了),这里是数据分析生成的表

柱状图展示


网站公告

今日签到

点亮在社区的每一天
去签到