流程:
1.Python爬取去哪儿网全站旅游数据约10万+,存入mysql;
2.使用pandas+numpy/hadoop+mapreduce对mysql中旅游数据进行数据清洗,使用高德API计算地理信息,最终转为.csv文件上传hdfs;
3.hive建库建表导入.csv文件作为数据集;
4.一半指标使用离线hive_sql分析完成,一半指标使用实时Spark之Scala完成;
5.分析结果使用sqoop导入mysql;
6.使用Flask+echarts构建可视化大屏;
创新点:大屏可视化、Python爬虫、高德地图、Spark实时计算、Hadoop+Hive离线计算全部实现
选装(如果觉得功能太简单或者工作量不够)-->推荐系统、预测系统、知识图谱、后台管理
核心算法代码分享如下:
package com.bigdata.storm.kafka.util;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;
/**
* @program: storm-kafka-api-demo
* @description: redis工具类
* @author: 小毕
* @company: 清华大学深圳研究生院
* @create: 2019-08-22 17:23
*/
public class JedisUtil {
/*redis连接池*/
private static JedisPool pool;
/**
*@Description: 返回redis连接池
*@Param:
*@return:
*@Author: 小毕
*@date: 2019/8/22 0022
*/
public static JedisPool getPool(){
if(pool==null){
//创建jedis连接池配置
JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
//最大连接数
jedisPoolConfig.setMaxTotal(20);
//最大空闲连接
jedisPoolConfig.setMaxIdle(5);
pool=new JedisPool(jedisPoolConfig,"node03.hadoop.com",6379,3000);
}
return pool;
}
public static Jedis getConnection(){
return getPool().getResource();
}
/* public static void main(String[] args) {
//System.out.println(getPool());
//System.out.println(getConnection().set("hello","world"));
}*/
}