- 博客(16)
- 资源 (5)
- 收藏
- 关注
转载 hive 中的Sort By、 Order By、Cluster By、Distribute By 区别<转>
Order by:order by 会对输入做全局排序,因此只有一个reducer(多个reducer无法保证全局有序) 只有一个reducer,会导致当输入规模较大时,需要较长的计算时间。 在hive.mapred.mode=strict模式下,强制必须添加limit限制,这么做的目的是减少reducer数据规模Sort by:sort by不是全局排序,其在数据
2014-10-31 11:54:43 618
转载 Storm 实现滑动窗口计数和TopN排序<转>
计算top N words的topology, 用于比如trending topics or trending images on Twitter. 实现了滑动窗口计数和TopN排序, 比较有意思, 具体分析一下代码 Topology 这是一个稍微复杂些的topology, 主要体现在使用不同的grouping方式, fieldsGroupin
2014-10-22 16:21:01 1004
转载 JAVA获取时间戳,哪个更快<转>
目前获取毫秒值大概有下面三种方法 Java代码 //方法 一 System.currentTimeMillis(); //方法 二 Calendar.getInstance().getTimeInMillis(); //方法 三 new Date().getTime(); 最近做监控系统,发现代码中有前两种方法,
2014-10-21 14:56:10 872
转载 非线程安全的HashMap 和 线程安全的ConcurrentHashMap<转>
在平时开发中,我们经常采用HashMap来作为本地缓存的一种实现方式,将一些如系统变量等数据量比较少的参数保存在HashMap中,并将其作 为单例类的一个属性。在系统运行中,使用到这些缓存数据,都可以直接从该单例中获取该属性集合。但是,最近发现,HashMap并不是线程安全的,如果你 的单例类没有做代码同步或对象锁的控制,就可能出现异常。首先看下在多线程的访问下,非现场安全的HashM
2014-10-21 09:51:20 532
转载 跳跃表的实现<转>
Redis 的跳跃表由 redis.h/zskiplistNode 和 redis.h/zskiplist 两个结构定义, 其中 zskiplistNode 结构用于表示跳跃表节点, 而zskiplist 结构则用于保存跳跃表节点的相关信息, 比如节点的数量, 以及指向表头节点和表尾节点的指针, 等等。 header | tail | level \n 5 | length \n
2014-10-12 20:47:33 631
转载 redis 持久化<转>
数据持久化通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。先介绍下这两种dump方式再讲讲自己遇到的一些现象和想法,前面的内容是从网上整理出来的。Snapshottin
2014-10-12 20:16:03 472
转载 Redis关键点(rehash)<转>
hash table是一种高效的数据结构,被广泛的用在key-value存储中,Redis的dict其实就是一个典型的hash table实现。rehash是在hash table的大小不能满足需求,造成过多hash碰撞后需要进行的扩容hash table的操作,其实通常的做法确实是建立一个额外的hash table,将原来的hash table中的数据在新的数据中进行重新输入,从而生
2014-10-12 19:50:08 539
转载 Google Protocol Buffer 的使用和原理<转>
简介什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Pro
2014-10-11 19:07:32 554
转载 Storm常见模式——分布式RPC<转>
分布式RPC(distributed RPC,DRPC)用于对Storm上大量的函数调用进行并行计算过程。对于每一次函数调用,Storm集群上运行的拓扑接收调用函数的参数信息作为输入流,并将计算结果作为输出流发射出去。DRPC本身算不上Storm的特性,它是通过Storm的基本元素:streams,spouts,bolts,topologies而衍生的一个模式。DRPC可以单独作为一个
2014-10-10 18:44:36 572
转载 storm的ack和fail<转>
为了保证数据能正确的被处理, 对于spout产生的每一个tuple, storm都会进行跟踪, 这里面涉及到ack/fail的处理, 如果一个tuple处理成功, 会调用spout的ack方法, 如果失败, 会调用fail方法. 而在处理tuple的每一个bolt都会通过OutputCollector来告知storm, 当前bolt处理是否成功. 为了了解OutputCollector的ack
2014-10-10 18:36:29 588
转载 IRichBolt和IBasicBolt对比<转>
作为storm的使用者,有两件事情要做以更好的利用storm的可靠性特征。 首先,在你生成一个新的tuple的时候要通知storm; 其次,完成处理一个tuple之后要通知storm。 这样storm就可以检测整个tuple树有没有完成处理,并且通知源spout处理结果。storm提供了一些简洁的api来做这些事情。由一个tuple产生一个新的tuple称为: anchoring。你发射一
2014-10-10 18:34:00 626
转载 【Storm总结-2】关于Storm 中Topology的并发度的理解<转>
主要思想来源于storm的项目页面: https://github.com/nathanmarz/storm/wiki/Understanding-the-parallelism-of-a-Storm-topology其中加入了一些个人的理解,所以就把文章mark成原创了,实际上大部分还是人家的东西。其实翻译这个文章的人也挺多,我看了几个,总是感觉有点绕,所以干脆自己总结一下。目标是简单明
2014-10-10 17:28:51 480
转载 storm消息确认机制<转>
伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索 场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的当然是这个宝贝马上就可以被卖家搜索出来、点击、购买啦,相反,如果这个宝贝要等到第二天或者更 久才可以被搜出来,估计这个大哥就要骂娘了。再举一个推荐的例子,如果用户昨天在淘宝上买了一双袜子,今天想买一副泳镜去
2014-10-10 11:18:34 793
转载 Object-C 入门教程<转>
大纲开始吧下载这篇教学设定环境前言编译 hello world创建 Classes@interface@implementation把它们凑在一起详细说明...多重参数建构子(Constructors)访问权限Class level access异常情况(Exceptions)处理继承、多型(Inheritance, Polymorphism)以及其他面
2014-10-09 14:36:06 678
转载 vim使用技巧——快速编辑篇<转>
与vim设置相关的常用基本命令:显示行号 :set number 或者 :set nu隐藏行号 :set nonumber 或者 :set nonu自动缩进 :set autoindent 或者 :set ai不自动缩进 :set noautoindent 或者 :set noai显示Tab及行尾字符 :set list隐藏Tab及行尾字符
2014-10-08 19:10:53 463
clementine的中文教程
2013-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人