首页 > 其他分享 >GitHub项目Storm-HBase介绍

GitHub项目Storm-HBase介绍

时间:2023-03-22 16:07:21浏览次数:45  
标签:GitHub cluster timestamp stop start Storm HBase


​Storm-HBase​​​,该项目是​​Twitter Storm​​​和​​Apache HBase​​​的结合,它使用HBase cluster作为Storm的Spout数据源,目前只是初步实现,后续会进一步完善。

​​​HBaseSpout​​根据时间戳范围[start_timestamp, stop_timestamp],持续不间断地从HBase cluster读取流数据:

  • 如果start_timestamp = 0,HBaseSpout将默认从3分钟前的数据开始读取并发送到Storm cluster;否则从用户指定的start_timestamp开始读取数据。
  • 如果stop_timestamp = 0, HBaseSpout将默认读取到当前时间的数据,并随着时间流动持续地读取新的数据并发送到Storm cluster;否则读取到用户指定的stop_timestamp后停止读取。

以上有关[start_timestamp, stop_timestamp]的设计,是为了适应不同的运行模式:

  • 最典型情况下,start_timestamp = 0 and stop_timestamp = 0,则从3分钟前开始读取发送数据,然后会同步扫描HBase cluster中的新数据,并发送给Storm cluster,适合用户实时计算的情景。
  • 出现问题的情况下,例如Storm cluster重启,计算任务状态被丢失,此时可能需要能够Spout进行数据的回传(data rewind),通过指定[start_timestamp, stop_timestamp]可以满足这一需求。

Storm-HBase力求尽可能做到通用化,因此提取了Storm和HBase的配置信息。有关Storm-HBase的配置选项,可以在 GitHub工程的src/main/resources/storm.properties以及src/main/resources /hbase.properties文件中找到。如果你的HBase表的Schema结构与上述类似,那么只需要进行简单的配置即可使用Storm- HBase。

目前的HBaseSpout实现基于以下假设:

  • HBase表的rowkey形式为[shardingkey, timestamp, ...];
  • shardingkey占据第1个byte,表示表中数据的分区数,一般是100以内,所以这里使用了short类型存储;
  • timestamp占据第2~5个byte,表示数据中的时间戳信息,这里timestamp是秒级的UNIX时间戳值,使用了int型存储。

更多关于Storm-HBase的介绍及进展,请参加项目的GitHub链接:​​https://github.com/ypf412/storm-hbase​

标签:GitHub,cluster,timestamp,stop,start,Storm,HBase
From: https://blog.51cto.com/u_2650279/6142835

相关文章

  • 简单介绍一下HBase、Cassandra、Voldemort、Redis、VoltDB、MySQL(转)
    hbase1.简介:HBase–HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PCServer上搭建起大规模结构化存储集群2.HBase和R......
  • storm & drcp
    1.Storm在taobao的使用情况:Wemakestatisticsoflogsandextractusefulinformationfromthestatisticsinalmostreal-timewithStorm.LogsarereadfromKafka-......
  • 把项目放在github
    一.右上角加号新建一个newrepository填入时license下拉框选择Apache为需要验证,MIT为公开随意拉取二.gitclone拉取代码报错fatal:unabletoaccess'https://github.c......
  • Hbase报错ERROR: KeeperErrorCode = NoNode for /hbase/master
    场景在上面搭建Hadoop和Hbase的基础上,三台服务器全部重启了。再执行hbase的命令时提示:ERROR:KeeperErrorCode=NoNodefor/hbase/master 注:关注公众号霸道的程序猿获......
  • Windows上编译github源码方式运行Node-RED,以及离线迁移安装Node-RED
    场景上面是在Windows可以连接外网的情况下安装运行的Node-RED,如果再局域网内的Winserver2012的服务器,没法访问外网,怎样安装运行Node-RED。注:关注公众号霸道的程序猿获取......
  • Git 和 GitHub 超入门指南(二)
    1.解决行结束符问题需要在你的仓库中添加一个.gitattributes文件,标记正确的行结束符、应该被改正的文本文件和不应该被修改的二进制文件。在仓库根目录(与.git位于同一......
  • Git 和 GitHub 超入门指南(三)
    工作流程工作的流程应该遵循以下步骤:(1)在issue跟踪系统中创建一个新的工单,注明这个issue的编号。(2)在本地仓库中,使用issue+number格式创建一个新的分支。(3)......
  • Git 和 GitHub 超入门指南(四)
    Git基本命令以下是一些基本的Git命令:gitadd:将文件添加到Git索引中gitcommit:将索引中的文件提交到Git仓库中gitstatus:查看工作目录和索引的状态gitlog:查看提交历......
  • Git 和 GitHub 超入门指南(五)
    使用标签1.显示已有的标签gittag在Git自身项目仓库中,如果只对 1.0 系列的版本感兴趣,可以运行下面的命令:gittag-l'v1.0.*'2.创建标签创建一个含附注类型的......
  • 8个酷炫的GitHub技巧,让你看起来像大佬一样!
    有梦想,有干货,微信搜索【大迁世界】关注这个在凌晨还在刷碗的刷碗智。本文GitHubgithub.com/qq449245884…已收录,有一线大厂面试完整考点、资料以及我的系列文章。......