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
相关推荐
《Storm流计算项目:1号店电商实时数据分析系统——storm-kafka详解与实战案例》 在大数据处理领域,实时计算已经成为不可或缺的一部分,特别是在电商行业中,实时数据分析能够帮助企业快速响应市场变化,提高运营...
4. **大数据处理工具**:Apache Spark、Storm、Flink等实时数据处理框架的介绍和使用场景。 5. **大数据分析**:使用SQL与大数据仓库(如Hive、Pig)进行数据查询和分析的方法。 6. **大数据可视化**:使用Tableau...
从Java基础的数据类型、jdk1.8的使用、IO、集合、线程等等技术以及一些常用框架,netty、mina、springboot、kafka、storm、zookeeper、es、redis、hbase、hive等等。 使用 下载: git clone ...
项目结构com.pancm.arithmetic - 一些算法相关类 com.pancm.basics - 一些Java基础相关类 主要是三大特性、修饰符、io、集合、反射、克隆等等相关代码com.pancm.bigdata - 大数据相关的类 主要是hbase、storm、...
本部分分为多个项目,会涉及目前比较火的大数据的相关概念,比如说spark,hadoop,mahout,hbase,hive,openstack,storm等,目前主要学习hadoop和mahout,后续有时间和精力的话,会涉及更多,也欢迎大家即使补充...
在线如Spark Streaming、Storm)、数据挖掘系统(Spark、Map/Reduce等)、存储系统(Hadoop HDFS、HBase、Redis、Elasticsearch、MongoDB)以及模型系统(如Spark MLlib、Python Scikit-learn等,算法包括UserCF、...
- **团队协作**:参与开源项目,学习如何在GitHub上协作开发,提升团队沟通和项目管理能力。 - **持续集成/持续部署(CI/CD)**:利用Jenkins等工具实现自动化构建和部署,提高开发效率。 总之,这个Java学习路线...
/usr/hdp/current/phoenix-client/bin/psql.py zk_server:2181:/hbase-unsecure ddl/quotes.ddl /usr/hdp/current/phoenix-client/bin/psql.py zk_server:2181:/hbase-unsecure ddl/orders.ddl 运行拓扑 storm jar ...
这个压缩包的名字暗示了它可能是一个关于大数据学习的开源项目,如GitHub上的一个代码仓库。让我们来详细探讨一下大数据领域的关键知识点。 首先,大数据是指那些传统数据处理工具无法有效管理的海量、高速、多源、...
6. **数据流处理**:介绍实时流处理框架如Flume、Kafka和Storm,以及如何在Hadoop上进行实时数据处理。 7. **安全性与身份验证**:学习如何在Hadoop集群中实现 Kerberos 身份验证,以及访问控制列表(ACLs)和...
本项目内容主要以笔记为主,后期如果涉及相关BigData代码,会在个人Github账号中给到Demo. 如果你觉得写得差强人意,麻烦给一个小星星! 简单分类: 数据采集:Flume、Kafka、Scribe、Chukwa 数据处理:Hadoop、...
【大数据与云计算教程】\n\n本教程涵盖了大数据与云计算领域的多个重要技术,包括但不限于Hadoop、MapReduce、YARN、HDFS、Hive、HBase、Pig、Zookeeper、Sqoop、Flume、Kafka、Storm、Spark、Oozie、Impala、Solr、...
逐步文档说明了如何在HDInsight上解决如何在Hive,Spark,HBase,Storm,Kafka上创建和管理群集的常见问题。 hdinsight 阿里吉特 阿里吉特 登陆页面 hdinsight 呐 呐 登陆页面 2017/03/29 阿里吉特 #Azure ...
举例来说,小米团队广泛使用HBase、Thrift、ZooKeeper、Nginx、Kafka、RabbitMQ、Memcached、MySQL、Hadoop、Storm、Hive、Spark等,并且还参与了HBase和SenseiDB等开源软件的开发。 小米还开源了一系列自研软件,...
在描述中提到的“讲师GitHub地址”,表明教学资源可能包括开源代码、教程或项目实例,这些资源通常储存在GitHub上,便于学员下载和跟踪。GitHub是一个面向开发者的平台,用于版本控制和协作,学员可以利用它来获取...
6. **NoSQL数据库**:为了处理大规模非结构化数据,大子项目可能会使用MongoDB、Cassandra或HBase等NoSQL数据库。 7. **数据可视化**:为了使数据分析结果易于理解,大子可能集成了Tableau、Grafana或Elasticsearch...
4. **大数据中间件**:这些是连接不同组件、促进数据传输和管理的软件,如HBase(NoSQL数据库)、Cassandra(分布式数据库)、Kafka(消息队列)和Zookeeper(集群协调)。 5. **大数据应用**:大数据技术应用于...