12-13 -功能一之Hbase及打包注意事项
功能1:今天到现在为止实战课程的访问量
yyyyMMdd courseio
使用数据库来进行存储我们的统计结果
Spark Streaming把统计结果写入到数据库里面
可视化前端根据:yyyyMMdd courseid把数据库里面的统计结果展示出来
选择什么数据库作为统计结果的存储呢?
RDBMS:MySQL.Oracle...
day course_id click_count
20171111 1 10
20171111 1 10
下一个批次数据进来以后:
20171111 + 1 ==> click_count +下一个批次的统计结果写入到数据库中
NoSQL:HBase,Redis....
HBase:一个API就能搞定,非常方便
20171111 + 1 ==> click_count +下一个批次的统计结果
本次课程为什么要选择HBase的一个原因所在前提
功能二:功能一+从搜索引擎引流过来的
HBase表设计
create'imooc_course_search_clickcount','info'
rowkey设计:也是根据我们的业务需求来的
20171111 +search+ 1
启动
HDFS
cd app/hadoop-2.6.0-cdh5.7.0/sbin/
./start-dfs.sh
Zookeeper
HBase
cd hbase-1.2.0-cdh5.7.0/bin/
./start-hbase.sh
HBase表设计
HRegion 由一个或者多个 Store 组成,每个 Store 保存一个 Column Family。每个 Strore 又由一个 MemStore 和 0 至多个 StoreFile 组成
https://blog.csdn.net/f1550804/article/details/88380764
创建表
create 'imooc_course_clickcount','info'
Rowkey设计
day_courseid
清空表数据
有两个命令可选:
1. hbase(main):003:0> help 'truncate'
Disables, drops and recreates the specified table.
2. hbase(main):004:0> help 'truncate_preserve'
Disables, drops and recreates the specified table while still maintaing the previous region boundaries.
二:
项目打包:mvn clean package-DskipTests
报错
[ERROR]/Users/rocky/source/work/sparktrain/src/main/scala/com of package com.imooc.spark.project.utils
是由于没有将Java写的包打入;
注释掉pom文件的build下的resources配置后用以下方式提交任务
spark-submit --master Local[5]\
--class com.imooc.spark.project.spark.ImoocStatStreamingApp \
/home/hadoop/lib/sparktrain-1.0.jar hadoop000:2181 test streamingtopic 1
如果还报错,说没有引用的jar包,可以在提交的任务中引入jar包,再次提交
spark-submit --master Local[5]\
--class com.imooc.spark.project.spark.ImoocStatStreamingApp \
--packages org. apache.spark:spark-streaming-kafka-0-8 2.11
/home/hadoop/lib/sparktrain-1.0.jar hadoop000:2181 test streamingtopic 1
如果还jar报错,可以引入本地的jar库,如下斜线配置
spark-submit --master Local[5]\
--class com.imooc.spark.project.spark.ImoocStatStreamingApp \
--jars $(echo /home/hadoop/app/hbase-1.2.0-cdh5.7.0/lib/*. jar
--packages org. apache.spark:spark-streaming-kafka-0-8 2.11
/home/hadoop/lib/sparktrain-1.0.jar hadoop000:2181 test streamingtopic 1