赞
踩
流程:爬取阳光高考约50-100W历年高考数据(含2023年)存入mysql;使用dump命令将省控线、专业线、专业、学校、省份、软科排名、QS排名等表导出csv存到hdfs上;使用hive基于CSV文件建立数据仓库;一部分数据使用Spark进行实时分析,一部分数据使用Hive进行离线分析;分析结果使用sqoop导入mysql;使用flask+echarts进行可视化大屏实现。
开发技术:spark hadoop hive sqoop echarts flask requests爬虫技术 mysql
为啥不直接分析mysql中的数据?海量上百万的数据加上连表查询的话mysql不如hive数据仓库可靠和稳定,mysql很容易宕机以及响应慢!
创新点:爬虫、大屏、hadoop+hive离线计算+spark实时计算双实现、海量真实数据
核心算法代码分享如下:
- # -*- codeing = utf-8 -*-
- # 创建预测所需要的数据用
- #
- import datetime
-
- import numpy as np
- import pandas as pd
- import json
- from db import db_util
-
- d = db_util()
- db, cursor = d.get_conn()
-
- def insert_flow(name, n, v):
- sd1 = datetime.date(2023, 1, 1) # 把数字字符变换成日期类型,赋值给一个变量
-
- v1 = v
- for i in range(1, n + 1):
- # sd1 = sd1 + datetime.timedelta(days=1) # 加某个天数相加之后的日期
- sd1 = sd1 + datetime.timedelta(days=30) # 加某个天数相加之后的日期
- # print(i)
- v1 = v1 + np.random.randint(50, high=100)
- sql = "replace into tb_flow(name,name2, v) values('%s', '%s', %f)"\
- % (sd1.strftime('%Y%m%d'), name, v1)
- cursor.execute(sql)
- db.commit()
- print("end..")
-
- if __name__ == '__main__':
- v = 400
- #t = '换成学校名称'
- t = '武汉大学'
- insert_flow(t, 7, v)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。