数据可视化

Spring Boot整合Echarts动态获取HBase的数据
1) 动态的传递进去当天的时间
    a) 在代码中写死
    b) 让你查询昨天的、前天的咋办?
        在页面中放一个时间插件(jQuery插件),默认只取当天的数据
2) 自动刷新展示图
    每隔多久发送一个请求去刷新当前的数据供展示

统计慕课网当天实战课程从搜索引擎过来的点击量
    数据已经在HBase中有的
    自己通过Echarts整合Spring Boot方式自己来实现

//阿里这个要钱,劝退,没做,还是用Zeppelin吧
DataV功能说明
1)点击量分省排名/运营商访问占比
    Spark SQL项目实战课程: 通过IP就能解析到省份、城市、运营商

2)浏览器访问占比/操作系统占比
    Hadoop项目:userAgent

DataV访问的数据库(MySQL),需要能够在公网上访问
DataV测试数据
 CREATE TABLE course_click_count
 (
 ID int(4) PRIMARY KEY,
 day VARCHAR(10),
 course_id VARCHAR(10),
 click_count long
 );  INSERT INTO course_click_count values (1,'20171111','112',8000);
 INSERT INTO course_click_count values (2,'20171111','128',9000);
 INSERT INTO course_click_count values (3,'20171111','145',10000);
 INSERT INTO course_click_count values (4,'20171111','146',4000);
 INSERT INTO course_click_count values (5,'20171111','131',3000);
 INSERT INTO course_click_count values (6,'20171111','130',2000); CREATE TABLE course_info
 (
 ID int(4) PRIMARY KEY,
 course_id VARCHAR(10),
 course_name VARCHAR(100)
 );  INSERT INTO course_info values (1,'112','Spark SQL');
 INSERT INTO course_info values (2,'128','10小时入门大数据');
 INSERT INTO course_info values (3,'145','深度学习');
 INSERT INTO course_info values (4,'146','Node.js');
 INSERT INTO course_info values (5,'131','Vue+Django实战');
 INSERT INTO course_info values (6,'130','Web前端性能优化'); select b.course_name course_name, a.click_count click_count
 from (
 (select course_id, click_count from course_click_count where day='20171111' ) a
 join
 (select course_id, course_name from course_info) b
 on a.course_id = b.course_id
 ) ----------------------------------------------------------------------------------------------------
Redis
Redis应用场景
     缓存系统 HashMap(key, value)
         用户 --> 客户端 --> Redis
                             |
                             |
                            DB
     计算器:评论数、点赞数 Atomic Increment. 设置过期
     消息队列: Kafka
     排行榜:    有序集合
     社交:
     过期处理:安装依赖
 sudo yum -y install cpp
 sudo yum -y install binutils
 sudo yum -y install glibc
 sudo yum -y install glibc-kernheaders
 sudo yum -y install glibc-common
 sudo yum -y install glibc-devel
 sudo yum -y install gcc
 sudo yum -y install make 编译
 先make之后再make install
 src/redis-server src/redis-cli 
vi redis.conf
bind 0.0.0.0
daemonize no改成daemonize yes
logfile "/home/hadoop/app/tmp/redis/redis.log"
重新启动
 src/redis-server redis.conf src/redis-cli 
闭关shutdown
 或者src/redis-cli shutdown Redis基础命令的使用
set user hadoop
keys *
set user2 spark
keys *
set user3 flink
keys user*
exists user1
del user1
del user2 user3
 set user hadoop
不会了的话help
mset user1 spark user2 flink
mget user user1 user2
src/redis-cli keys "*"
src/redis-cli del `user1`
 set money 100
get money
help incr
incr money
set age abc
decr money
get money
incrby money 100
decrby money 10
incrbyfloat money 11.1
incrbyfloat money -11.1
 append user -flink
get user
set msg hello
get msg
set msg "hello world"
get msg
getrange msg 0 4
getrange msg -5 -1
 Redis 数据类型之list
     有序的方式存储多个可以重复的值,可以重复而且不唯一
     list:一个或者多个item    index:0 n-1 
    lpush list a  //从左边添加
    lpush list b
    lpush list c
    rpush list x  //从右边添加
    lpop list //从左边取出
    rpop list //从右边取出
     llen list // 得到数组长度
     lrang list 0 -1 //显示数组
    lrang list 0 1 //显示数组 从0到1 就是2个 ,数组也是从0开始的
    del list
    lpush list a b c a x z a 
     lrang list 0 -1
    lrem list 2 a 
     从2开始删到a     help lindex 
    lindex list 0 的到list第0位
    lset list 0 a 把第0位改成a
    ltrim list 0 2
    lrang list 0 -1
    help linsert
    linsert list BEFORE x b 在b前面插入 x. // a b c  | a b x c
    rpoplpush xxx xxx_new //把这个数组的最后一位数插到另一个数组
     使用场景:消息队列
    总结:
    help @list
     lpush/rpush/lpop/rpop
     llen/lrange
     lset
     lindexx
     ltrim
     linsert
     rpoplpush
     lremRedis数据类型之set
     help @setsadd set a 
 sadd set bsmembers set
 sadd set. x
 smembers set srem set a b //移除
 sdiff set set1 //返回set1 里有的但是set里没有的
 sinter set set1 // 相当于 &  ,把两个里重合的列出来,交集
sunion set set1  // 相当于 | ,并集,全列出来
 sunionstore itset set set1. //把两个表里的东西重合起来放到一个新的表中
 scard set
spop  删除list里一个随机的数并且返回
srandmember 随机取xx个数。 使用负值可产生同样的值 srandmember 2 srandmember -2
 总结 help @set
 sadd/smembers/srem/sismember
 sdiff/sinter/sunion
 sdiffstore
 scard
 arandmember ket [count]weibo/twitter:共同关注