Storm
文章平均质量分 86
bigdataCoding
这个作者很懒,什么都没留下…
展开
-
Storm-JDBC 中Date类型转换bug
在Storm-JDBC的源码中,SimpleJdbcMapper中,如果Column的类型为Time,Date,TIMESTAMP的话,默认是取值转换成Long类型的,如下为源码else if(Util.getJavaType(columnSqlType).equals(Date.class)) { Long value = tuple.getLongByField(columnN原创 2017-02-04 17:59:13 · 1043 阅读 · 0 评论 -
Storm与Kafka集成
因为项目上要做推荐,推荐对时间的要求比较高,如果用Spark的话存在一定的延迟(Spark的时间窗口为单位为1s),所以决定用storm做数据的实时处理,大概的架构思路为若要做数据清洗的话可以用Spark SQL(离线数据),Kafka做为消息队列(数据来源),storm做数据的处理,然后推荐算法的模型为协同过滤(ItemBase),某个用户的推荐结果可以放到redis(key_values,原创 2017-01-14 17:21:16 · 1173 阅读 · 0 评论 -
storm基本使用心得精华
storm基本使用与zookeepr的使用,由于Storm中Nimbus和Supervisor是无状态的,Nimbus会把topology写到到ZK当中,Supervisor会到ZK去读这些信息,实现了解耦;Storm如何确保消息的靠性原创 2017-01-09 19:08:15 · 2655 阅读 · 0 评论 -
Storm Trident使用心得
Trident 中含有对状态化(stateful)的数据源进行读取和写入操作的一级抽象封装工具,Trident 使用一种容错性的方式实现对 state 的管理,这样,即使在发生操作失败或者重试的情况下状态的更新操作仍然是幂等的,State 的更新过程支持多级容错性保证机制,考虑到可能存在的处理失败情况,tuple 有可能需要重新处理有三类支持容错性的 spout:“非事务型原创 2017-01-21 15:18:51 · 1818 阅读 · 0 评论 -
Storm和Redis native的集成
Storm-redis provides basic Bolt implementations, RedisLookupBolt and RedisStoreBolt.Storm提供了两种Blot,从Redis查询和插入Redis原创 2017-01-22 14:08:00 · 1329 阅读 · 1 评论 -
Storm和JDBC native集成
org.apache.storm.jdbc.bolt 下面有两个JDBC的bolt 实现类,分别为JdbcLookupBolt 和JdbcLookupBolt 都继承AbstractJdbcBolt 抽象方法,当有原生的JDBC方法或者C3P0连接池的时当并发大的时候可能会出现连接不到数据库的问题,官方的Storm-JDBC方法可以解决连接的问题和JDBC初始化的问题Abstr原创 2017-01-22 19:55:02 · 1797 阅读 · 0 评论 -
Storm+Kafka+Redis实现热门搜索
前面的章节已经分别讲到过Storm和Kafka,Redis的集成,由于项目中有个需求要保留统计客户的历史搜索,因为搜索的频率比较快,要让App端上客户端快速的看到自己的历史搜索,在选型上spark和Storm作为备选,Spark的吞吐量比较大但是相应的延迟比较高(spark比较适用于大数据量大统计并且对实时醒要求不是太高),因为要快速的响应客户端的调用决定用Storm并且Storm对Kafka和R原创 2017-01-23 20:33:36 · 2955 阅读 · 0 评论