20200624SparkStreaming学习笔记+redis基础


数据可视化

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
    lrem

Redis数据类型之set
    help @set

sadd set a 
sadd set b

smembers 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:共同关注
 

你可能感兴趣的:(大数据之路)