流程:
1.Python采集网易云音乐歌手、歌词、音乐、评论等约10-20万+海量数据,存入mysql数据库;
2.使用pandas+numpy/MapReduce对mysql中四类数据进行数据清洗,写入.csv文件并上传至hdfs(含评论NLP文本分类/lsm情感分析);
3.使用hive建库建表,导入.csv数据集;
4.一半分析指标使用hive_sql完成,一半分析指标使用Spark之Scala语法完成;
5.将分析结果使用sqoop导入mysql数据库的指标表;
6.使用Flask+Echarts搭建可视化大屏界面;
创新点:
1.Python爬虫采集海量数据;
2.lstml情感分析/NLP文本分类;
3.spark实时分析+(hadoop、hive离线分析数据仓库)双实现,可实时可离线防止导师喷人;
4.可视化大屏炫酷显摆;
注意:如果还觉得本系统太简单太low工作量不够,可以选装推荐系统、知识图谱、预测系统、后台管理
核心算法代码分享如下:
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"));
}*/
}