SparkStreaming学习札记5-2020-2-16--SparkStreaming实时流处理项目实战

本文详细介绍使用HBase存储Spark Streaming处理的实时课程访问数据,包括HBase表设计、RowKey策略、数据可视化及项目打包过程中的常见问题解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值